Virgules et Points

pingooo Messages postés 28 Date d'inscription mercredi 11 août 2004 Statut Membre Dernière intervention 20 avril 2005 - 20 août 2004 à 11:19
cs_pluplu Messages postés 615 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 4 juillet 2012 - 20 août 2004 à 14:21
Salut tout le monde,
j'ai un petit problème: Lorsque je rentre un chiffre à virgules dans une textebox, suivant les options régionales de windows (, ou . ) Comment puis je faire pour que VB prenne indifférement les points et les virgules pour transformer mes chiffres en double. En effet, sur certains ordi, quand je tappe un chiffre comme 3.14 tout va bien, mais parfois, je dois tapper 3,14 ! ...
Merci

3 réponses

cs_rene38 Messages postés 1858 Date d'inscription samedi 29 juin 2002 Statut Membre Dernière intervention 17 octobre 2013 11
20 août 2004 à 11:37
Bonjour
par exemple :

Private Sub Text1_KeyPress(KeyAscii As Integer)
If IsNumeric(",0") Then    If KeyAscii 46 Then KeyAscii 44
Else    If KeyAscii 44 Then KeyAscii 46
End If
End Sub
0
devil_recycler Messages postés 170 Date d'inscription vendredi 6 août 2004 Statut Membre Dernière intervention 8 février 2007
20 août 2004 à 11:47
tu peux aussi faire un replace :

TextBox.Text=replace(TextBox.Text, ".", ",")


>:) Devil_Recycler >:)
0
cs_pluplu Messages postés 615 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 4 juillet 2012
20 août 2004 à 14:21
Encore une fois ça ne sert à rien de se battre contre le problème, le fait de remplacer le point par la virgule ou vis versa c'est bien joli mais tôt ou tard ça bug sur autre chose que l'on avais pas prévus, le mieux c'est d'aller chercher directement dans la registry le séparateur décimal et d'adapter son programme en fonction.
voici par exemple sur win2000 la commande

Dim SepDec as string *1
SepDec = mRegistry_QueryValueKeyString(&H80000001, "Control Panel\International", "sMonDecimalSep")

Pascal Laurençon
0
Rejoignez-nous