VB.Net nombre de décimal

cs_MagDix Messages postés 531 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 6 octobre 2012 - 21 févr. 2008 à 14:59
cs_MagDix Messages postés 531 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 6 octobre 2012 - 22 févr. 2008 à 14:14
Salut...


Je cherche un moyen pour avoir une condition qui ressemblerait à cela..


Si j'ai pas 4 chiffre apres la virgule alors...


Comment faire pour compter le nombre de décimal ???
Meric à vous

6 réponses

NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
21 févr. 2008 à 15:27
Bonjour

essaye un truc du genre :
if Cstr(X-Cint(X)).length<6 Then

6 pour "0.####" (note, ce code fait fi des différence de , ou . pour le signe décimal).

Dans Word, j'Excel. (juste pour la citation)
VB (6, .NET1&2), C++, C#.Net1
Mon site
0
cs_MagDix Messages postés 531 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 6 octobre 2012 1
21 févr. 2008 à 17:00
Re...


merci pour le code...


Mais je n'y arrive pas...


Mon chiffre est dans un textbox
J'ai par exemple le chiffre 10,1234


J'essais depuis tout à l'heure de convertir le textbox en double ou
bien de modifier mon chiffre mais ca fonctionne pas...


Je veux que si l'utilisateur entre par exemple un nombre n'ayant pas 4 chiffre apres la virgule
= msgbox "Erreur"


Enfin si tu peux m'éclairer un peu plus...


merci


If CStr(txtBox.Text - CInt(txtBox.Text)).Length < 4 Then MsgBox("Allo")
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
21 févr. 2008 à 17:04
Bonjour

Msgbox "Erreur" ?

Ton code est erroné :
If CStr(CDbl(txtBox.Text) - CInt(CDbl(txtBox.Text))).Length < 4 Then MsgBox("Allo")

Dans Word, j'Excel. (juste pour la citation)
VB (6, .NET1&2), C++, C#.Net1
Mon site
0
cs_MagDix Messages postés 531 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 6 octobre 2012 1
21 févr. 2008 à 17:37
Re...

hummm j'ai fais le test suivant pour voir combien mon Length vaut. Il vaut 17 ???
Il devrait donner 4

merci
P.S. je suis en VB.Net

Dim mavar as double

mavar =

CStr(Convert.ToDouble(txtbox.Text) -
CInt(Convert.ToDouble(txtbox.Text))).Length
mavar = 17

If
CStr(Convert.ToDouble(txtbox.Text) -
CInt(Convert.ToDouble(txtbox.Text))).Length < 4
Then MsgBox(
"Allo")
0

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

Posez votre question
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
22 févr. 2008 à 09:22
Bonjour

Peux-tu donner les valeurs suivantes (en mode débogage) :
txtbox.Text
Convert.ToDouble(txtbox.Text)
Convert.ToDouble(txtbox.Text) -
CInt(Convert.ToDouble(txtbox.Text))

CStr(Convert.ToDouble(txtbox.Text) -
CInt(Convert.ToDouble(txtbox.Text))).Length

le test n'est pas <4 que j'avais mis, mais <6 .

Dans Word, j'Excel. (juste pour la citation)
VB (6, .NET1&2), C++, C#.Net1
Mon site
0
cs_MagDix Messages postés 531 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 6 octobre 2012 1
22 févr. 2008 à 14:14
Salut... oui je sais que tu avais mis 6 mais je l'ai changer pour les besoin de mon code à 4.


Mais j'ai fini par trouvé...en utilisant ton aide...


 


Je voulais un truc du genre...
Merci beaucoup


If Convert.ToString(
CInt(Microsoft.VisualBasic.Right(txtVertical.Text, 4))).Length <> 4
Then
'doit avoir 4 chiffre après la virgule
MsgBox(
"Veuillez entrer ce format 0,0000")

End
If
0
Rejoignez-nous