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

 Java Discussion :

Vérifier l'intégralité numérique d'une saisie


Sujet :

Java

  1. #1
    Membre actif
    Avatar de guatto
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2014
    Messages : 179
    Points : 226
    Points
    226
    Par défaut Vérifier l'intégralité numérique d'une saisie
    Bonsoir tout le monde,

    je me creuse la tête depuis une heure à chercher comment solutionner un problème, j'essaye de vérifier si ma saisie dans un jTextField est "entièrement numérique" ou pas, et jusqu'à maintenant ce que j'ai me permet seulement de vérifier si cette saisie contient des nombre, ce que je veux c'est analyser son intégralité , en voici le code que j'utilise :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
           Boolean b = false;
     
        for (char c : jTextField1.getText().toCharArray())
        {
            if (Character.isDigit(c)){
     
                b = true;
     
            } 
        }
    Merci d'avance pour votre aide !

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    Et si tu inversais tout simplement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
     
    final String text=jTextField1.getText();
    if ( text.isEmpty() ) {
         // si le texte est vide, on est dans un cas particulier, à traiter à part (ce n'est ni que des chiffres, ni autre chose, c'est rien)
    }
    else {
       boolean estNombre = true; // note qu'il vaut mlieux utiliser le type primitif que le wrapper Boolean
       for (int i=0; i<text.length(); i++) { // note que dans ton cas tu faisais la conversion en char[] à chaque itération (perte de temps et consommation inutile de    resources)
            final char c =  text.charAt(i);
            if (!Character.isDigit(c)) { // si ce n'est pas un chiffre
     
               estNombre =  false; // la saisie n'est pas un nombre
               break; // inutile de vérifier le reste
     
            } 
      }
      if ( estNombre ) {
          // la saisie est un nombre
      }
      else {
         // la saisie n'est pas un nombre (comporte au moins autre chose qu'un digit)
      }
    }
    A noter également que Character.isDigit() ne teste pas si le caractère est un chiffre entre '0' et '9' :
    Citation Envoyé par javadoc
    Some Unicode character ranges that contain digits:

    • '\u0030' through '\u0039', ISO-LATIN-1 digits ('0' through '9')
    • '\u0660' through '\u0669', Arabic-Indic digits
    • '\u06F0' through '\u06F9', Extended Arabic-Indic digits
    • '\u0966' through '\u096F', Devanagari digits
    • '\uFF10' through '\uFF19', Fullwidth digits
    On peut écrire à la place :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            if (c<'0' || c>'9') { // si ce n'est pas un chiffre
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 840
    Points : 22 854
    Points
    22 854
    Billets dans le blog
    51
    Par défaut
    Et pourquoi pas en utilisant des contrôles adaptés : JFormattedTextField ou JSpinner ?
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

  4. #4
    Membre actif
    Avatar de guatto
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Algérie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2014
    Messages : 179
    Points : 226
    Points
    226
    Par défaut
    Salut,
    Merci pour vos réponse, "joel" ton code m'a bien aidé, c'est la solution que je cherchais, toi aussi "bouye", et pour te répondre : je ne travaille pas sur la classe principale, c'est pour ça que j'ai eu besoin de créer une méthode pour faire ce travail.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Une fonction implémentée en JAVA qui pour vérifier si une saisie est un numérique
    Par MasterMbg dans le forum Codes sources à télécharger
    Réponses: 3
    Dernier message: 24/09/2013, 14h17
  2. [PHP-JS] Forcer une saisie numérique
    Par Empty_body dans le forum Langage
    Réponses: 9
    Dernier message: 04/10/2011, 18h46
  3. Tester si une valeur est numérique dès la saisie
    Par sandrine49 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 08/06/2008, 17h23
  4. comment vérifier une saisie d'entrée est valide
    Par helene0618 dans le forum C#
    Réponses: 9
    Dernier message: 19/02/2008, 18h27
  5. [Formulaire]vérifier une saisie dans une zone de liste
    Par ludovicparis dans le forum IHM
    Réponses: 6
    Dernier message: 02/04/2007, 14h51

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