Impossible de calculer en Decimal [VB2008]

Signaler
Messages postés
14
Date d'inscription
samedi 3 octobre 2009
Statut
Membre
Dernière intervention
10 janvier 2010
-
Messages postés
14
Date d'inscription
samedi 3 octobre 2009
Statut
Membre
Dernière intervention
10 janvier 2010
-
Bonjour,

Si vous suivez mes autres question, vous comprendrez.

Ici:
http://www.vbfrance.com/forum/sujet-BESOIN-AIDE-SCRIPT-VB-2008_1394705.aspx

Et ici:
http://www.vbfrance.com/forum/sujet-AJOUTER-SIGNE-VB2008_1394795.aspx

Bon, pour mon problème.

Lorsque j'entre un nombre et le prix fait moins de "1", (C'est a dire en décimal) le TotalPrice (TextBox), n'affiche que 0.

Merci de m'aider le plus vite possible! Je dois remettre mon travaille demain :S

12 réponses

Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
39
salut,

normal, tu utilises VAL
(donc non seulement c'est une fonction qui ne renvoie que l'entier, mais en plus elle vient de VB6 et non DOTNET...)

à tenter avec convert.todouble, dans l'idéal.....

++
[hr]
Messages postés
14
Date d'inscription
samedi 3 octobre 2009
Statut
Membre
Dernière intervention
10 janvier 2010

Et je dois mettre quoi en convert.todouble?

Comment je l'emploie?
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
39
vardouble = convert.todouble(zone1.text) + convert.todouble(zone2.text)
Messages postés
14
Date d'inscription
samedi 3 octobre 2009
Statut
Membre
Dernière intervention
10 janvier 2010

J'ai trouver sa sur le forum et sa marche grandement! C enorme!

Merci beaucoup!

Dim Val1 As Double
Dim Val2 As Double
Dim Val3 As Double

Val1 = Replace(Text1.Text, ".", ",")
Val2 = Replace(Text2.Text, ".", ",")
Val3 = Replace(Text3.Text, ".", ",")

Text4.Text =Val1+Val2+Va3
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
39
replace = vb6
replace retourne un STRING

tu codes en VB.NET !
tu récupères vers un DOUBLE
le double n'acceptera pas plus ce "replace" (même avec un cast correct) sur un système avec "." pour séparateur décimal!

et pour finir une string reçoit un double, beh c'est pas gagné ^^

bien beau qu'il y ait des casts avec option strict si tous les VS sont fournis avec toutes restrictions désactivées par défaut
Messages postés
14
Date d'inscription
samedi 3 octobre 2009
Statut
Membre
Dernière intervention
10 janvier 2010

Mais pourtant je n'ai plus aucun problème...

il calcule tout correctement...
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
39
oui parce que :
*tu es en option strict OFF (permissif, du codage même plus laxiste qu'en VB6)
*tu as laissé les références à MS.VB
*que ton OS as la virgule comme séparateur décimal

résultat : un code sale, lourd, qui ne fonctionnera pas chez tous les clients et qui ne sera même pas capable de renvoyer le message d'erreur correspondant
Messages postés
14
Date d'inscription
samedi 3 octobre 2009
Statut
Membre
Dernière intervention
10 janvier 2010

Donc je dois le remplacer par les truc que tu me donne la haut...

Mais Zone1.text seras pour mes fruit?
Ou pour mon TotalPrice?

Je suis perdu la..
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
39
repose clairement ta question plutôt que de nous faire ouvrir plusieurs fois tes anciens threads stp...
Messages postés
14
Date d'inscription
samedi 3 octobre 2009
Statut
Membre
Dernière intervention
10 janvier 2010

D'accord.

Je fait un projet pour l'ecole. Une sorte de calculatrice pour calculer les fruits.

Voici un peut a quoi il ressemble:
http://img94.imageshack.us/img94/5966/sanstitre1rs.jpg

Lorsque j'entre un numero dans la premiere textbox, le prix s'affiche dans la text box d'a coter pour indiquer le prix en decimal.

Exemple: AppleAmount = 10
ApplePrice = $1.00

Et une fois tous les textbox remplie, je clique sur Calculate, et cela additionne tous les TextBox Price. Exemple: ApplePrice + Orangeprice... etc...

Mais le TotalPrice ne gere pas les decimal. Donc si ApplePrice = 1$
et
Orange Price = 0.60$

Eh bien 1$ sera afficher.

Si ApplePrice = 0.50$
Et
OrangePrice - 0.50$
Le Totalprice affichera 0.

J'espere que j'ai eter clair dans mes expliquation.
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
39
bin pas des masses mais c'est pas grave puisque tu as déjà la réponse
Messages postés
14
Date d'inscription
samedi 3 octobre 2009
Statut
Membre
Dernière intervention
10 janvier 2010

Tous marche correctement! Seul 1 petit problème.

Si la personne ne désire pas acheter d'un fruit, et il laisse a 0, le prix indique 0.00$ et lorsque j'appuierai sur Calculate, il m'apparaitra une erreur qui dit:

Le format de la chaine d'entrer est incorrect.