Impossible de calculer en Decimal [VB2008]

Volonter Messages postés 14 Date d'inscription samedi 3 octobre 2009 Statut Membre Dernière intervention 10 janvier 2010 - 10 janv. 2010 à 16:13
Volonter Messages postés 14 Date d'inscription samedi 3 octobre 2009 Statut Membre Dernière intervention 10 janvier 2010 - 10 janv. 2010 à 19:30
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

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
10 janv. 2010 à 16:59
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]
0
Volonter Messages postés 14 Date d'inscription samedi 3 octobre 2009 Statut Membre Dernière intervention 10 janvier 2010
10 janv. 2010 à 17:01
Et je dois mettre quoi en convert.todouble?

Comment je l'emploie?
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
10 janv. 2010 à 17:33
vardouble = convert.todouble(zone1.text) + convert.todouble(zone2.text)
0
Volonter Messages postés 14 Date d'inscription samedi 3 octobre 2009 Statut Membre Dernière intervention 10 janvier 2010
10 janv. 2010 à 17:33
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
10 janv. 2010 à 17:40
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
0
Volonter Messages postés 14 Date d'inscription samedi 3 octobre 2009 Statut Membre Dernière intervention 10 janvier 2010
10 janv. 2010 à 17:42
Mais pourtant je n'ai plus aucun problème...

il calcule tout correctement...
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
10 janv. 2010 à 17:49
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
0
Volonter Messages postés 14 Date d'inscription samedi 3 octobre 2009 Statut Membre Dernière intervention 10 janvier 2010
10 janv. 2010 à 17:51
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..
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
10 janv. 2010 à 18:00
repose clairement ta question plutôt que de nous faire ouvrir plusieurs fois tes anciens threads stp...
0
Volonter Messages postés 14 Date d'inscription samedi 3 octobre 2009 Statut Membre Dernière intervention 10 janvier 2010
10 janv. 2010 à 18:10
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.
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
10 janv. 2010 à 18:43
bin pas des masses mais c'est pas grave puisque tu as déjà la réponse
0
Volonter Messages postés 14 Date d'inscription samedi 3 octobre 2009 Statut Membre Dernière intervention 10 janvier 2010
10 janv. 2010 à 19:30
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.
0
Rejoignez-nous