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 :

Formatage d'un double


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2008
    Messages : 26
    Par défaut Formatage d'un double
    Bonjour,
    Je souhaite formater mes nombres comme ceci : 00000000000.00
    C'est à dire :
    0 devient 00000000000.00
    12.3 devient 00000000012.30 etc ...

    voici le code que j'utilise ... mais cela ne fonctionne pas !!!

    DecimalFormat l_format = new DecimalFormat("00000000000.00");
    String l_doubleString = l_format.format(a_double);

    Qui peut m'aider ?
    Merci
    Bonne journée !!!

  2. #2
    Membre éprouvé
    Avatar de Deadpool
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 312
    Par défaut
    Salut

    Qu'est ce qui ne fonctionne pas? Tu as une erreur?

    Non parce que le DecimalFormat que tu as initialisé devrait faire ce que tu veux.

  3. #3
    Membre averti
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Février 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2008
    Messages : 26
    Par défaut
    Par exemple 399.77 ressort tel quel je n'ai pas 00000000399.77

    Voici mon code dans sa totalité, a_double est un double

    public String conversionMontant(double a_double){

    DecimalFormat l_format = new DecimalFormat("00000000000.00");
    String l_doubleString = l_format.format(a_double);
    Double l_Double = Double.parseDouble(l_doubleString.replace(',','.'));

    return l_Double.toString();

  4. #4
    Membre expérimenté
    Inscrit en
    Octobre 2007
    Messages
    311
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 311
    Par défaut
    Citation Envoyé par yannard Voir le message
    Par exemple 399.77 ressort tel quel je n'ai pas 00000000399.77

    Voici mon code dans sa totalité, a_double est un double

    public String conversionMontant(double a_double){

    DecimalFormat l_format = new DecimalFormat("00000000000.00");
    String l_doubleString = l_format.format(a_double);
    Double l_Double = Double.parseDouble(l_doubleString.replace(',','.'));

    return l_Double.toString();
    Tu fais un parseDouble, donc il te vire les 0000...

    Si tu veux virer la virgule, fais plutot
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public String conversionMontant(double a_double) {
      DecimalFormat l_format = new DecimalFormat("00000000000.00");
      return  l_format.format(a_double).replace(',','.');
    }

  5. #5
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par DevTeam_ Voir le message
    Tu fais un parseDouble, donc il te vire les 0000...
    +1 : l'objectif du DecimalFormat est de formatter un nombre à l'affichage. Dans ton code c'est ce que tu fait en convertissant le Double en String... mais le tu reconvertis un nouvelle fois en Double !

    Lorsque tu affiches le Double c'est le formattage par défaut qui sera utilisé !

    Citation Envoyé par DevTeam_ Voir le message
    Si tu veux virer la virgule, fais plutot
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public String conversionMontant(double a_double) {
      DecimalFormat l_format = new DecimalFormat("00000000000.00");
      return  l_format.format(a_double).replace(',','.');
    }
    Ce serait plus simple d'utiliser directement les symboles US :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    new DecimalFormat("00000000000.00", new DecimalFormatSymbols(Locale.US));

    A noter qu'avec Java 5.0 on peut également utiliser le format du printf() :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String s = String.format(Locale.US, "%014.2f", 0.0);
    a++

  6. #6
    Membre expérimenté
    Inscrit en
    Octobre 2007
    Messages
    311
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 311
    Par défaut
    Citation Envoyé par adiGuba Voir le message
    Salut,

    Ce serait plus simple d'utiliser directement les symboles US :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    new DecimalFormat("00000000000.00", new DecimalFormatSymbols(Locale.US));
    Plus simple et plus joli !

    Citation Envoyé par adiGuba Voir le message
    A noter qu'avec Java 5.0 on peut également utiliser le format du printf() :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String s = String.format(Locale.US, "%014.2f", 0.0);
    Ca par contre je ne connaissais pas... Good to know

  7. #7
    Membre expérimenté
    Inscrit en
    Octobre 2007
    Messages
    311
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 311
    Par défaut
    Citation Envoyé par Deadpool Voir le message
    Salut

    Qu'est ce qui ne fonctionne pas? Tu as une erreur?

    Non parce que le DecimalFormat que tu as initialisé devrait faire ce que tu veux.
    +1, fonctionne chez moi

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

Discussions similaires

  1. Formatage d'un double + bon tutoriel
    Par beginners dans le forum Tapestry
    Réponses: 2
    Dernier message: 07/09/2012, 08h37
  2. [AC-2000] Formatage d'un champ Double
    Par marsupilami34 dans le forum VBA Access
    Réponses: 1
    Dernier message: 04/08/2009, 09h33
  3. Réponses: 1
    Dernier message: 21/04/2008, 16h00
  4. Formatage d'un double
    Par Yacad dans le forum iReport
    Réponses: 2
    Dernier message: 24/08/2007, 19h36
  5. Double condition de formatage
    Par marquito dans le forum Langage
    Réponses: 4
    Dernier message: 25/06/2007, 17h49

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