IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

IsNumeric text box en vb.net


Sujet :

VB.NET

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 19
    Points : 9
    Points
    9
    Par défaut IsNumeric text box en vb.net
    bonjour

    en vb.net j'utilise un text box dans lequel je dois saisir un nombre (double) si je mets dans le code du text box
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if isNuméric(Textbox.Text)=false then msgbox("entrez seulement des chiffres)
    dès que je rentre la première lettre du mot que je veux entrer(par exemple le a de are ) il m'affiche le msgbox ; si je rentre 12 il ne dit rien mais si je rentrer 12.5 dès que je tape le . il m'affiche la msgbox

    si je procède autrement que je ne mets pas le if et que je créee un bouton calcule en disant à ce bouton le même if que précédemment , après avoir saisi dans le text box , si je tape 12 le bouton calcule ne dit rien si je dis 12.5 il affiche le msgbox d'erreur et même si je ne mets rien dans le text box il me m'affiche quand même la msgbox


    quelqu'un peut il m'aider
    a l'avance merci
    cordialement

  2. #2
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 175
    Points
    17 175
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Membre émérite Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Points : 2 865
    Points
    2 865
    Par défaut
    L'erreur de ta saisie se produit lorsque tu tapes le point. C'est donc que le séparateur décimal de ton système n'est pas le point mais la virgule. Tu ne drevais pas avoir d'erreur en tapant 12,5.
    Mais ce n'est peut-être pas la meilleure façon de tester une saisie numérique ..., chaque programmeur souhaite que son programme fonctionne quelle que soit la configuration des paramètres régionaux du système.
    Tu dois donc te documenter sur d'autres modes de contrôle des valeurs numériques.
    Bon travail ...

  4. #4
    Modérateur
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 077
    Points : 17 175
    Points
    17 175
    Par défaut
    Salut

    Ne serait il pas possible de faire Textbox.Text = Textbox.Text.Replace(".",",") dans l’événement textBox1_KeyDown
    Soyez sympa, pensez -y
    Balises[CODE]...[/CODE]
    Balises[CODE=NomDuLangage]...[/CODE] quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Balises[C]...[/C] code intégré dans une phrase.
    Balises[C=NomDuLangage]...[/C] code intégré dans une phrase quand vous mettez du code d'un autre langage que celui du forum ou vous postez.
    Le bouton en fin de discussion, quand vous avez obtenu l'aide attendue.
    ......... et pourquoi pas, pour remercier, un pour celui/ceux qui vous ont dépannés.
    👉 → → Ma page perso sur DVP ← ← 👈

  5. #5
    Membre émérite Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Points : 2 865
    Points
    2 865
    Par défaut
    Bien sûr ProgElecT, l'usage d'un Replace est tout-à-fait approprié. D'autant qu'il ne faut pas oublier que, quel que soit le réglage du séparateur décimal dans le système, dans VB le séparateur est le point et rien d'autre !!!
    Cependant je ne le ferais pas sur un événement qui se produit à chaque touche pressée.
    L'algorithme présenté au début consiste à vérifier que le contenu d'un TextBox est bien une valeur numérique (Single, par exemple).
    Je ferais approximativement ceci (d'une pierre 2 coups : je vérifie et je prends la valeur) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Try
    ValeurReelleAConserver = CType(Replace(TextBox.Text, ",","."), Single)
    Catch
    msgbox("entrez seulement des chiffres")
    End Try
    SUITE ....

    Il s'il faut faire ce traitement en réponse à un événement du TextBox, je choisirais l' événement Leave.

  6. #6
    Expert confirmé
    Inscrit en
    Avril 2008
    Messages
    2 564
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 564
    Points : 4 441
    Points
    4 441
    Par défaut
    bonjour

    Il faut voir du coté de MaskedTextBox c'est plus facile avec un MaskedTextBox.Mask = "99.99" par exemple et
    les events :

    1/ MaskedTextBox_TypeValidationCompleted

    2/ MaskedTextBox_MaskInputRejected

    bon code...

Discussions similaires

  1. vb.net:couper le surplus de texte dans un texte box
    Par SALIA LOUA OLIVIER dans le forum VB.NET
    Réponses: 3
    Dernier message: 14/05/2010, 16h19
  2. afficher dans mon text box en vb.net
    Par debutant00 dans le forum VB.NET
    Réponses: 23
    Dernier message: 12/06/2009, 16h20
  3. [VB.NET] Copier / coller dans un text box
    Par nkonito dans le forum Windows Forms
    Réponses: 3
    Dernier message: 17/07/2007, 19h55
  4. text box null,vb.net
    Par omaracheache dans le forum Windows Forms
    Réponses: 4
    Dernier message: 17/05/2006, 12h44
  5. Réponses: 4
    Dernier message: 23/06/2004, 14h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo