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 :

prix dans JformattedtextField


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2007
    Messages : 81
    Par défaut prix dans JformattedtextField
    Bonjour,

    je suis en train de créer une application dans laquelle j'ai besoin de faire saisir un prix. J'utilise donc un jformattedTextField afin d'obliger les 2 chiffres apres la virgule et de n'avoir que des chiffres.
    je recupere le tout dans une variable prix, déclarée en float.

    j'ai donc ceci: prix = Float.parseFloat((""+ jftfPrix.getText()).replace(",", "."));

    lorsque l'utilisateur clique sur le bouton valider, s'il a entré une valeure type "555.55" j'ai l'erreur suivante, que je n'ai pas s'il tape: "555,55":

    Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: "555,55"
    at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1224)



    Merci de m'apporter votre aide

  2. #2
    Membre Expert Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 704
    Par défaut
    Tout d'abord je te déconseille les flottant pour une application manipulant les prix, il vaut mieux utiliser BigDecimal pour éviter toute mauvaise surprise comme ici :http://www.developpez.net/forums/d65...me-type-double

    Ensuite (""+ jftfPrix.getText()).replace(",", ".") est inutilement compliqué. jftfPrix.getText().replace(",", ".") suffit.

    Enfin j'ai du mal a comprendre pourquoi tu aurais une erreur avec les points.
    Ton code à l'air de fonctionner. Mais il serait peut-être plus propre de formater les chaines de caractères en Nombre décimaux (et vice-versa) avec la classe DecimalFormat: cf. Javadoc

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Par défaut
    crée ton JFormattedTextField comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    JFormattedTextField textField = new JFormattedTextField(java.text.NumberFormat.getCurrencyInstance());
    Avec ça, pas besoin de s'amuser à remplacer la virgule par un point.

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 252
    Par défaut
    Ah oui, ma solution risque de poser quelques soucis, puisqu'il faut absolument entrer le signe €...

    Donc, utilise plutôt un DecimalFormat comme conseillé par Uther.

Discussions similaires

  1. Réponses: 2
    Dernier message: 12/12/2010, 22h09
  2. Recherche de prix dans un fichier texte
    Par idoclub dans le forum Pascal
    Réponses: 6
    Dernier message: 18/03/2009, 18h03
  3. Trigger pour inserer des prix dans une table
    Par dragongia_fr dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 07/03/2009, 00h37
  4. [RegEx] Récupérer un prix dans une chaîne de caractère
    Par Tazerty dans le forum Langage
    Réponses: 1
    Dernier message: 11/03/2008, 08h41
  5. Réponses: 7
    Dernier message: 02/03/2006, 15h58

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