Virgule et point

Résolu
Partouchefrancis Messages postés 116 Date d'inscription   Statut Membre Dernière intervention   -  
yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   -
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

  1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     
    bonjour, "cela ne marche pas": veux-tu dire que isnumeric retourne faux?
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      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.
      0
  2. Partouchefrancis Messages postés 116 Date d'inscription   Statut Membre Dernière intervention  
     
    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
    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      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
      0
    2. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       
      par ailleurs, ta logique est viciée: ta variable nommée Bon ne mémorise que le résultat du dernier test.
      0
  3. Partouchefrancis Messages postés 116 Date d'inscription   Statut Membre Dernière intervention  
     
    non il affiche le même message d'erreur
    0
  4. Partouchefrancis Messages postés 116 Date d'inscription   Statut Membre Dernière intervention  
     
    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à
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question