Point decimal, virgule et autre *** urgent ** [Résolu]

cs_vara956
Messages postés
50
Date d'inscription
mardi 12 octobre 2004
Dernière intervention
4 novembre 2008
- 28 juil. 2006 à 12:17 - Dernière réponse : cs_vara956
Messages postés
50
Date d'inscription
mardi 12 octobre 2004
Dernière intervention
4 novembre 2008
- 28 juil. 2006 à 22:01
Salut les gars,

je fais un calcul entre deux variables, comment faire pour avoir que deux chiffress apres la virgule,

j'ai essayer avec  Textbox1.text=Format(total.tostring,"#.##0.00")
Mais ca marche pas dans mon textebox du resultat ca met #.##

y a til une solution  ?

sinon pour quoi quand je fais un caclu avec une virgule et un autre avec le point ca donne pas les chiffre derrier la virgule du resultat

ce n'etait pas si compliquer avec vb5 et 6
peux ton tranfsormer un chiffre a virgule en a un chiffre a point
merci beau coup de votre aide
Afficher la suite 

Votre réponse

8 réponses

Meilleure réponse
Molenn
Messages postés
797
Date d'inscription
mardi 7 juin 2005
Dernière intervention
23 février 2011
- 28 juil. 2006 à 13:08
3
Merci
Je ne connais pas vraiment la fonction format, mais je suis étonné par ton format de toutes façons puisque tu marques Format(total.tostring,"#.##0.00").
Ca veut dire que tu tentes de convertir ton chiffre à virgule par un chiffre avec le point comme séparateur.
Si tes paramètres régionaux sont français, ça risque de poser pbs dans les calculs non ? Moi j'aurais fait l'inverse, j'aurai tenté de convertir mon point en virgule, mais je me trompe peut-être ?

Sinon, tu peux faire une autre méthode, c'est sans doute de la bidouille mais bon ^^ :
TextBox1.Text = Replace(TextBox1.Text, ".", ",")



Et pour garder les 2 chiffres après la virgule, tu peux :
- Si tu veux juste 2 chiffres brut, sans tenir compte des arrondis
Chercher la position de la virgule dans ton TextBox (avec la fonction InStr) et couper le contenu avec la fonction Left
- Si tu veux arrondir tes 2 décimales
Tu utilises la fonction Round en précisant 2 en décimal : round(TextBox1.Text, 2)

Merci Molenn 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 95 internautes ce mois-ci

Commenter la réponse de Molenn
Meilleure réponse
chaibat05
Messages postés
1884
Date d'inscription
samedi 1 avril 2006
Dernière intervention
20 novembre 2007
- 28 juil. 2006 à 13:38
3
Merci
Bonjour,
Le calcul n' a rien à voir avec l' affichage.
Tu fais ton calcule normalement
Z=X+Y  ou Z=Round(X+Y) si tu préfère
Puis tu affiche le résultat
MonTextBox..Text=Format§(Z,"0.00")
et non  Format§(Z,"##0.00")
Les '#' servent à définir le séparateur des milliers comme '### ##0.00' pour avoir '999 999.00'
En plus, le symbole décimal tient compte des Paramètres régionnaux. Soit . soit virgule et non les deux à la fois.

Merci chaibat05 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 95 internautes ce mois-ci

Commenter la réponse de chaibat05
Meilleure réponse
erefdatacomputing
Messages postés
165
Date d'inscription
mardi 7 mars 2006
Dernière intervention
24 avril 2018
- 28 juil. 2006 à 14:26
3
Merci
Salut 358043 vara956!!

Normalement:

si a, b, et c sont des TextBox
x est une variable dimensionnée en Integer

x = Val(a) + Val(b)
c = Format(x, "###0.00")

permet de formatter une Variable Numérique ('x') , et de la mettre avec 2 chiffres après la virgule.

Vérifies que 'x' soit  bien 'Numérique', et que tes paramètres régionaux (dans WINDOWS) on bien le '.' et non la ',' comme séparateur décimale.

Essaye le, il n'y a pas de raison que ça ne marche pas !!!

bye ....

Je comprends vite mais il faut m'expliquer longtemps et tout en détails !!!

Merci erefdatacomputing 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 95 internautes ce mois-ci

Commenter la réponse de erefdatacomputing
Meilleure réponse
mortalino
Messages postés
6812
Date d'inscription
vendredi 16 décembre 2005
Dernière intervention
21 décembre 2011
- 28 juil. 2006 à 16:09
3
Merci
Hum chaibat, je ne suis pas d'accord avec toi, tu dis les # servent à définir les séparateurs de milliers.
Le point : séparateur décimal
La virgule : séparateur de milliers
le # : non affichage du zéro, affichage que du chifffre s'il existe

exemple :

Monchiffre As Double: Monchiffre = 2789.432

Monchiffre = Format(Monchiffre, "# ###.00")
Resulat de la MsgBox : 2789.43

Monchiffre = Format(Monchiffre, "#,###.00")

Resulat de la MsgBox : 2 789.43

Monchiffre = Format(Monchiffre, "0,000.00#")

Resulat de la MsgBox : 2 789.432

@++

  Mortalino
Le mystérieux chevalier, "Provençal, le Gaulois"

Merci mortalino 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 95 internautes ce mois-ci

Commenter la réponse de mortalino
Meilleure réponse
chaibat05
Messages postés
1884
Date d'inscription
samedi 1 avril 2006
Dernière intervention
20 novembre 2007
- 28 juil. 2006 à 16:33
3
Merci
Entièment d' accord.
Reste à savoir comment tout celà est configuré dans tes "Paramètres régionaux"
Si dans ces derniers
>Le séparateur des milliers est un espace alors
Monchiffre = Format(Monchiffre, "# ###.00")
Resulat de la MsgBox : 2 789.43
>si c' est une "," alors
Monchiffre = Format(Monchiffre, "#,###.00")
Resulat de la MsgBox :


2,789.43
Pour éviter ce dernier affichage va dans tes paramètres régionnaux
 et remplace Separateur des milliers (qui est une virgule par un espace.

Quand au point décimal dans ton code Monchiffre = Format(Monchiffre, "###.00") tu mets toujours un point
quelque soit  sa configuration (Point ou Virgule). il te renvoie alors
soit 


789.43 ou 789,43

Merci chaibat05 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 95 internautes ce mois-ci

Commenter la réponse de chaibat05
Meilleure réponse
chaibat05
Messages postés
1884
Date d'inscription
samedi 1 avril 2006
Dernière intervention
20 novembre 2007
- 28 juil. 2006 à 16:39
3
Merci
Dans
Monchiffre As Double: Monchiffre = 2789.432
Monchiffre = Format(Monchiffre, "# ###.00")
Resulat de la MsgBox : 2789.43

Il te renvoie ce résultat parce que ton séparateur
de milliers est configuré en virgule et non en espace.
Et donc il ne tient pas compte de ton Formatage !

Merci chaibat05 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 95 internautes ce mois-ci

Commenter la réponse de chaibat05
Meilleure réponse
mortalino
Messages postés
6812
Date d'inscription
vendredi 16 décembre 2005
Dernière intervention
21 décembre 2011
- 28 juil. 2006 à 16:43
3
Merci
C'est vrai !
En fait je suis configuré dans les paramètres régionaux par rapport au langage VB.
Suite à des problèmes avec mes décimaux dans des TextBox (.) et les décimaux dans Excel (,).

@++

  Mortalino
Le mystérieux chevalier, "Provençal, le Gaulois"

Merci mortalino 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 95 internautes ce mois-ci

Commenter la réponse de mortalino
cs_vara956
Messages postés
50
Date d'inscription
mardi 12 octobre 2004
Dernière intervention
4 novembre 2008
- 28 juil. 2006 à 22:01
0
Merci
re salut a vous tous


 


cool merci ca merche c moi qui essayer avec ma valeur direct du textbox don en y mettant le format(cdbl(textbox.text),"0.00") ca marche pilpoil
encore mille merci


 
Commenter la réponse de cs_vara956

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.