Virgule et point [Résolu]

Signaler
Messages postés
56
Date d'inscription
mercredi 2 septembre 2020
Statut
Membre
Dernière intervention
14 octobre 2020
-
Messages postés
12634
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
16 octobre 2020
-
Bonjour,

comment expliquer que

Dim Cout As Double
Cout = ((TXT_LONGUEUR.Text / 100) * TXT_CONSOMMATION.Text * TXT_PRIX.Text)


après m'être assuré plus haut dans le code que isnumeric est vrai pour les trois *.text
si je mets dans un des *.text: 2.5 avec le point du pavé numérique cela ne marche pas
alors que si je mets la , cela marche même si après avoir tapé la virgule il affiche 2.5 dans le *text
alors que les paramètres de mon clavier sont francais(france)
je ne comprends pas à quoi sert donc le . du pavé numérique

5 réponses

Messages postés
12634
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
16 octobre 2020
701
bonjour, "cela ne marche pas": veux-tu dire que isnumeric retourne faux?
Messages postés
12634
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
16 octobre 2020
701
peux-tu préciser quels logiciels tu utilises, et dans quelles langues?

si je lis bien, tu as testé avec la virgule, avec le point du pavé numérique, mais pas avec le point du clavier normal.
Messages postés
56
Date d'inscription
mercredi 2 septembre 2020
Statut
Membre
Dernière intervention
14 octobre 2020

voilà le code
Public Class Form1
Dim Bon As Boolean
Private Sub BTN_QUITTER_Click(sender As Object, e As EventArgs) Handles BTN_QUITTER.Click
End
End Sub

Private Sub Consommation(sender As Object, e As EventArgs) Handles TXT_CONSOMMATION.TextChanged
If Not IsNumeric(TXT_CONSOMMATION.Text) Or TXT_CONSOMMATION.Text = "" Then
Bon = False
Else
Bon = True

End If
End Sub

Private Sub Longueur(sender As Object, e As EventArgs) Handles TXT_LONGUEUR.TextChanged
If Not IsNumeric(TXT_LONGUEUR.Text) Or TXT_LONGUEUR.Text = "" Then
Bon = False
Else
Bon = True

End If
End Sub

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load

End Sub



Private Sub Prix(sender As Object, e As EventArgs) Handles TXT_PRIX.TextChanged
If Not IsNumeric(TXT_PRIX.Text) Or TXT_PRIX.Text = "" Then
Bon = False
Else
Bon = True

End If
End Sub

Private Sub BTN_CALCULER_Click(sender As Object, e As EventArgs) Handles BTN_CALCULER.Click

Dim Cout As Double

Cout = CDbl(((TXT_LONGUEUR.Text / 100) * TXT_CONSOMMATION.Text * TXT_PRIX.Text))

If Bon = False Then
LBL_ATTENTION.Text = "Soyez gentils ne mettez pas n'importe quoi"
Else

LBL_COUTV.Text = "le coût du voyage est " & Cout & "euros"

End If
End Sub
End Class

et voilà le message d'erreur qui apparait quand j'utilise le . du pavé ou le . du clavier




merci d'une réponse
je ne comprends pas pourquoi le . n'est pas interprété comme la virgule
cordialement
Messages postés
12634
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
16 octobre 2020
701
peux-tu plutôt essayer ceci:
Dim Cout As Double
Cout = CDbl(TXT_LONGUEUR.Text)
Cout=Cout/100
Cout=Cout * TXT_CONSOMMATION.Text
Cout=Cout * TXT_PRIX.Text
Messages postés
12634
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
16 octobre 2020
701
par ailleurs, ta logique est viciée: ta variable nommée Bon ne mémorise que le résultat du dernier test.
Messages postés
56
Date d'inscription
mercredi 2 septembre 2020
Statut
Membre
Dernière intervention
14 octobre 2020

non il affiche le même message d'erreur
Messages postés
56
Date d'inscription
mercredi 2 septembre 2020
Statut
Membre
Dernière intervention
14 octobre 2020

tu vas dans parametres , heure s et langues ,régions
en haut à droite tu cliques sur Paramètres de date, heure et régionaux supplémentaires puis sur région , tu cliques sur , modifier les formats de date ,d'heure ou de nombre , tu vas dans l'onglet Formats et tu cliques sur Paramètres supplémentaires et tu remplaces la virgule par le point dans l'onglet décimal puis appliquer puis ok ....
voilà
Messages postés
14864
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
16 octobre 2020
592