Partage
  • Partager sur Facebook
  • Partager sur Twitter

[java] Test du type d'une variable

Sujet résolu
    20 novembre 2006 à 14:36:56

    Bonjour,
    je cherche a savoir si un texte stocké dans un variable de type String est un chiffre.

    Par exemple si texte = "356" c'est bon mais si texte = "e5" ce n'est pas bon.

    Existe-t-il une fonction qui permette de faire ca?

    Merci d'avance.
    • Partager sur Facebook
    • Partager sur Twitter
      20 novembre 2006 à 14:56:28

      essais avec
      Integer.parseInt(tonString)

      si il y a un nombre , ca marche , si non ca renvoie un exception :)
      • Partager sur Facebook
      • Partager sur Twitter
        20 novembre 2006 à 17:18:17

        comme String est un objet, si tu fais
        if (texte == "356") {
        ca ne marchera pas car, en gros, ca va comparer le "pointeur" de l'objet texte.
        Il faut utiliser la méthode equals :
        if (texte.equals("356"))
        alors ca marchera !
        • Partager sur Facebook
        • Partager sur Twitter
          20 novembre 2006 à 20:42:49

          kokotchY => t'a pas comprit la question je crois :D
          • Partager sur Facebook
          • Partager sur Twitter
            20 novembre 2006 à 21:15:33

            moi je suis d'accord avec kedare (pour une fois :D ) mais bon je vais illustrer ce qu'il dit

            public static boolean isNumber(String str) {
                 try {
                         Integer.parseInt(str);
                         return true;
                 }
                 catch(NumberFormatException e) {
                         return false;
                 }
            }


            voilà une belle fonction toute propre
            • Partager sur Facebook
            • Partager sur Twitter
              21 novembre 2006 à 11:53:46

              utilise une regex

              text.matches("[0-9]+") = true ssi text est un chiffre entier positif

              text.matches("-{0,1}[0-9]+") = true ssi text est un chiffre entier

              text.matches("-{0,1}[0-9]+(\.[0-9]+){0,1}") = true ssi text est un flotant ex -32.000245 ou 12 ou -0.5
              • Partager sur Facebook
              • Partager sur Twitter
                21 novembre 2006 à 17:22:35

                Citation : mythrys

                moi je suis d'accord avec kedare (pour une fois :D ) mais bon je vais illustrer ce qu'il dit

                public static boolean isNumber(String str) {
                     try {
                             Integer.parseInt(str);
                             return true;
                     }
                     catch(NumberFormatException e) {
                             return false;
                     }
                }



                voilà une belle fonction toute propre



                Je crois que ça ma l'air d'être exactement ce que je cherchait!
                Merci beaucoup mythrys.

                @++
                • Partager sur Facebook
                • Partager sur Twitter
                  22 novembre 2006 à 13:52:26

                  je ne sais pas si c'est bon de provoquer souvent des exceptions, volontairement :-/

                  je préfère la soluce de makki_katta ^^
                  • Partager sur Facebook
                  • Partager sur Twitter
                  Altarapp.com - Applications, Code Snippets, API Wrappers et etc, le tout en C# le plus clair du temps!
                    23 novembre 2006 à 13:52:49

                    Citation : shadosan

                    je ne sais pas si c'est bon de provoquer souvent des exceptions, volontairement :-/



                    Tant que l'exception est gérée correctement, aucun problème.
                    • Partager sur Facebook
                    • Partager sur Twitter

                    [java] Test du type d'une variable

                    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                    • Editeur
                    • Markdown