La conversion de la chaîne "" en type 'Double' n'est pas valide
Résolu/Fermé
kikou93
Messages postés
416
Date d'inscription
mardi 4 février 2014
Statut
Membre
Dernière intervention
24 septembre 2018
-
19 juil. 2016 à 21:19
kikou93 Messages postés 416 Date d'inscription mardi 4 février 2014 Statut Membre Dernière intervention 24 septembre 2018 - 20 juil. 2016 à 22:14
kikou93 Messages postés 416 Date d'inscription mardi 4 février 2014 Statut Membre Dernière intervention 24 septembre 2018 - 20 juil. 2016 à 22:14
A voir également:
- La conversion de la chaîne "" en type 'Double' n'est pas valide
- Ethernet n'a pas de configuration ip valide - Guide
- Double ecran - Guide
- Whatsapp double sim - Guide
- Chaine tnt gratuite sur mobile - Guide
- Impossible d'utiliser ce numéro de téléphone pour la validation - Forum Gmail
3 réponses
Utilisateur anonyme
19 juil. 2016 à 21:52
19 juil. 2016 à 21:52
Bonsoir,
Si ton pic est configuré pour que le point soit le symbole décimal alors 0,009 n'est pas un nombre, 0.009 oui.
A la place de Cquelquechose, utilse la classe Convert, tu pourras choisir quel est le modèle de nombre à utiliser
Si ton pic est configuré pour que le point soit le symbole décimal alors 0,009 n'est pas un nombre, 0.009 oui.
A la place de Cquelquechose, utilse la classe Convert, tu pourras choisir quel est le modèle de nombre à utiliser
Utilisateur anonyme
19 juil. 2016 à 23:44
19 juil. 2016 à 23:44
Et en plus des conseils de NHenry (bonjour) n'utilise pas d'accents, ou autre modificateur de lettre dans les noms de variable ou fonction.
Si tu dois ouvrir ton projet sur un ordinateur anglais, ça boguera de partout.
je t'ai montré la voie, pas la solution pile poil adaptée à ton cas.
Tu pourrais écrire une fonction que tu appellerais pour chaque TextBox, tu peux aussi faire une méthode d'extension.
Mais si tu appliques exactement ce code, "0.009" ne serait pas accepté
Il y aurait ça
Ce qui permettrait d'accepter "0,009" ou "0.009", mais un grand nombre avec séparation des milliers américaine "1,000,000.001" ne marcherait pas.
Y'a un moment ou il te faudra figer le format d'entrer en utilisant la validation par exemple
Si tu dois ouvrir ton projet sur un ordinateur anglais, ça boguera de partout.
je ne c pas si cette méthode marche mais sa ne me facilite pas le travaille car la condition que j'ai contient beaucoup de textBox
je t'ai montré la voie, pas la solution pile poil adaptée à ton cas.
Tu pourrais écrire une fonction que tu appellerais pour chaque TextBox, tu peux aussi faire une méthode d'extension.
Mais si tu appliques exactement ce code, "0.009" ne serait pas accepté
Il y aurait ça
Dim texte as String = "0,009" Dim toto As Double = Convert.ToDouble(texte.Replace(",","."), CultureInfo.GetCultureInfo("fr-FR"))
Ce qui permettrait d'accepter "0,009" ou "0.009", mais un grand nombre avec séparation des milliers américaine "1,000,000.001" ne marcherait pas.
Y'a un moment ou il te faudra figer le format d'entrer en utilisant la validation par exemple
kikou93
Messages postés
416
Date d'inscription
mardi 4 février 2014
Statut
Membre
Dernière intervention
24 septembre 2018
1
20 juil. 2016 à 09:44
20 juil. 2016 à 09:44
Merci Whismeril j'ai utilisé ta méthode et je l'ai appliqué pour chaque TextBox
même si ç'est long l'essentiel est que ca marche trés bien etet sont aucun problème
Merci pour ton aide tu m'a beaucoup aidé
même si ç'est long l'essentiel est que ca marche trés bien etet sont aucun problème
Merci pour ton aide tu m'a beaucoup aidé
NHenry
Messages postés
15161
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
14 octobre 2024
337
19 juil. 2016 à 21:48
19 juil. 2016 à 21:48
Ben avec "0.009" ça passe ou pas ?
Avec .NET, il y a double.Parse qui permet d'accepter d'autres cultures que celle du système pour les décimales .
Avec .NET, il y a double.Parse qui permet d'accepter d'autres cultures que celle du système pour les décimales .
kikou93
Messages postés
416
Date d'inscription
mardi 4 février 2014
Statut
Membre
Dernière intervention
24 septembre 2018
1
19 juil. 2016 à 22:23
19 juil. 2016 à 22:23
merci de m'avoir répondu aussi rapidement
en vérité la valeur est de 0,975 normalement ça passe, mais ce ne pas le cas
en vérité la valeur est de 0,975 normalement ça passe, mais ce ne pas le cas
19 juil. 2016 à 22:02
19 juil. 2016 à 22:21
j'ai configuré la textBox comme suite :
Dim desNuméro() As Char = {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"}
Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
If Not desNuméro.Contains(e.KeyChar) And Not Asc(e.KeyChar) = 8 Then
e.Handled = True
End If
If e.KeyChar = "."c Or e.KeyChar = ","c Then
e.Handled = True
If Not (TextBox1.Text.Contains(",")) Then TextBox1.AppendText(",")
End If
End Sub
pour que la textBox accepte seulement les numéro (0, 1, 2, 3, 4, 5, 6, 7, 8,9) et la virgule
alors le symbole décimal est la virgule et non le point
même si je tape sur la touche du point, dans la textBox x'est la virgule que s'affiche
19 juil. 2016 à 22:28
je ne c pas si cette méthode marche mais sa ne me facilite pas le travaille car la condition que j'ai contient beaucoup de textBox :
If textBox1.text >0 and textBox2.text>0 and textBox3.text>0 .... and textBox30.text>0 then
.........
End if
19 juil. 2016 à 23:04
Retires aussi l'import automatique de l'espace de nom "Microsoft.VisualBasic".
20 juil. 2016 à 09:48
j'ai décidé d'appliquer la méthode de Whismeril
merci de m'avoir consacré du temps, merci beaucoup