Il ya un problème principal avec votre code, mais aussi un couple de petits problèmes. Le problème principal est que vous avez défini saleprice comme un entier, de sorte qu'il ne peut contenir que des entiers. Je devine que vous avez également costprice
et percent
définis comme entiers. Au lieu de cela, définissez-les tous comme Single
ou Double
.
Il y a aussi le problème des types de conversion. Les informations que vous entrez dans le TextBox sont stockées en tant que chaîne. Dans le monde réel, vous devez vous assurer que la propriété .Text
est convertible en valeur numérique, puis la convertir. Avec vos paramètres Visual Studio actuels, la conversion est effectuée dans les coulisses. Cela rend la vie plus facile pour les débutants, mais encourage la programmation très bâclée.
Je suggère de modifier les paramètres du compilateur afin que Option Strict
est sur, Option Explicit
est sur, Option Compare
est réglé sur binaire et Option Infer
est désactivé.
Cela rendra l'écriture de votre code un peu plus difficile, mais à long terme, cela vous fera gagner du temps et vous obligera à écrire un meilleur code.
Edit: Whoops
I Missed la partie cruciale de votre question - de supprimer la partie « 1 » et il suffit d'entrer le pour cent en nombre entier - cela devrait être votre code
Alors .. dans sa forme la plus simple et sujette encore erreur, votre code devrait être ..
Dim costprice As Double
Dim percent As Double
Dim saleprice As Double
costprice = Val(TextBox1.Text)
percent = Val(textbox2.text)/100
saleprice = costprice * (1 + percent)
Label1.Text = saleprice.ToString
pour augmenter le coût de 10 pour cent, il suffit d'entrer 10 dans la zone de texte pour cent. Pour réduire le coût de 10%, entrez -10.
S'il vous plaît lire [demander] et prendre le [tour], et ajouter «Option Strict On» au sommet de tous vos fichiers de code ... toujours – Plutonix