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

Langage Java Discussion :

Vérifier qu'un nombre correct (décimal ou non)


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Mai 2005
    Messages
    364
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 364
    Par défaut Vérifier qu'un nombre correct (décimal ou non)
    Bjour,

    Je cherche la meilleur facçon (la plus propre) de pouvoir vérifier qu'une donnée est bien au format numérique, pour ensuite faire une insertion dans une BD oracle, le champs étant en number.

    En gros les utilisateurs doivent donc pouvoir remplir par exemple 12,24 ou 1200 (...)
    Le point ne doit bien sur pas être utilisé à la place de la virgule

    Ce que 'jaimerai donc, c'est une fois récupéré ce String, vérifier qu'il est correcte si on le passe en décimal (avec virgule ou pas)

    D'avance merci

  2. #2
    Membre émérite
    Profil pro
    Architecte technique
    Inscrit en
    Mars 2002
    Messages
    966
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Mars 2002
    Messages : 966
    Par défaut
    La meilleure façon à mons sens est l'utilsiation d'une expression régulière.

    A+

  3. #3
    Membre Expert Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Par défaut
    Tu doit pouvoir utiliser la méthode parseDouble de la classe Double (java.lang). Elle va tranformer ta chaine en Double comme ça si elle te renvoi une exception c'est que la chaine n'est pas au bon format.

  4. #4
    Membre émérite
    Profil pro
    Architecte technique
    Inscrit en
    Mars 2002
    Messages
    966
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Mars 2002
    Messages : 966
    Par défaut
    Citation Envoyé par guigui5931
    Tu doit pouvoir utiliser la méthode parseDouble de la classe Double (java.lang). Elle va tranformer ta chaine en Double comme ça si elle te renvoi une exception c'est que la chaine n'est pas au bon format.
    Ben non car parseDouble va fonctionner avec un séparateur de décimales qui est un point '.' et non une virgule ','. Et secundo je ne suis pas certain que 1200 soit considéré comme un double. Pour moi un double c'est 1200.0

    Dans ce cas utilises Decimal format avec un pattern du style:

    '######0.##' par exemple.

  5. #5
    Membre éclairé
    Inscrit en
    Mai 2005
    Messages
    364
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 364
    Par défaut
    ok merci, je vais essayer de voir ce que je peut faire avec DecimalFormat.
    Mais sinon avec les expressions régulières (j'y avais pensé aussi mais sans vraiment savoir comment faire) cela donnerait quoi ?

    Je me servirais de ContentEquals ?

    merci

  6. #6
    Membre chevronné Avatar de schniouf
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2003
    Messages : 382
    Par défaut
    Citation Envoyé par bobic
    ok merci, je vais essayer de voir ce que je peut faire avec DecimalFormat.
    Mais sinon avec les expressions régulières (j'y avais pensé aussi mais sans vraiment savoir comment faire) cela donnerait quoi ?

    Je me servirais de ContentEquals ?

    merci
    [0-9]+(,[0-9]+)*

    Je me trompe ?
    Au moins un chiffre suivi éventuellement d'une virgule et d'au moins un chiffre.

  7. #7
    Expert confirmé
    Avatar de le y@m's
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2005
    Messages
    2 636
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Février 2005
    Messages : 2 636
    Par défaut
    Citation Envoyé par schniouf
    [0-9]+(,[0-9]+)*

    Je me trompe ?
    Au moins un chiffre suivi éventuellement d'une virgule et d'au moins un chiffre.
    [0-9]+(,[0-9]+)?

    La partie décimale ne doit être présente qu'une seule fois au maximum (avec * 0 à n fois, ce qui accepte "0,4,5,2") .

    PS : [0-9] peut être remplacé par \d (il faut penser à échapper le \)
    Je ne répondrai à aucune question technique par MP.

    Pensez aux Tutoriels et aux FAQs avant de poster ;) (pour le java il y a aussi JavaSearch), n'oubliez pas non plus la fonction Rechercher.
    Enfin, quand une solution a été trouvée à votre problème
    pensez au tag :resolu:

    Cours Dvp : http://ydisanto.developpez.com
    Blog : http://yann-disanto.blogspot.com/
    Page perso : http://yann-disanto.fr

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

Discussions similaires

  1. vérifier le nombre de décimales
    Par peloman dans le forum Langage
    Réponses: 3
    Dernier message: 18/09/2007, 08h17
  2. [Nombre]formater le nombre de décimal après une virgule.
    Par PascalCmoa dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 09/03/2007, 10h40
  3. savoir si un nombre est pair ou non
    Par shirya dans le forum C++
    Réponses: 25
    Dernier message: 23/11/2005, 17h53
  4. round avec nombre de décimale spécifiée
    Par bilb0t dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 14/04/2005, 16h44

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