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 :

Formater un BigDecimal


Sujet :

Java

  1. #1
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2012
    Messages : 50
    Points : 52
    Points
    52
    Par défaut Formater un BigDecimal
    Bonjour à tous,

    En ce dernier jour de l'année 2014, je viens vous demander de l'aide.

    J'ai un montantTTC qui est de type double.

    J'aimerais que ce montant soit de la forme 00000.00

    Ainsi, les chiffres (qui sont des string eux) devrait afficher par exemple :
    blancblancblanc82.10 (important qu'il y est deux décimales après le point)
    blancblanc123.00

    Alors, j'ai bien réussi à faire les deux décimales après point.
    Mais, comment faire, pour qu'il rajoute les blancs pour qu'il y ait 5 caractères tout le temps ?

    Merci

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Hello,

    le plus simple est d'utiliser String.format()
    Il faut lui passer ton nombre en paramètre, avec un pattern qui indique, que c'est un nombre à virgule, combien de chiffres tu veux après la virgule, et quelle largeur totale.

    Dans ton cas deux chiffres après la virgules, et en largeur totale, 5 chiffres avant, 2 chiffres après, et la virgule, soit 5 + 2 + 1 = 8 de largeur.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    BigDecimal number = new BigDecimal("82.10");
    String formatted = String.format("%8.2f", number);
    Quelques tests :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    System.out.println("12345678");
     
    String[] tests = {"5.78", "5", "5.789", "5.7", "0", "0.7", "123456.89"};
     
    for(String test : tests) {
      BigDecimal bd = new BigDecimal(test);
      String formatted = String.format("%8.2f", bd);
     
      System.out.println(formatted);
    }
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2012
    Messages : 50
    Points : 52
    Points
    52
    Par défaut
    Au toooooooooop

    Merci beaucoup!

    Bonne année

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

Discussions similaires

  1. Formater un BigDecimal
    Par xduris dans le forum Langage
    Réponses: 5
    Dernier message: 07/03/2008, 15h44
  2. convertir un nom long (win32) en format dos (8+3)
    Par kylekiller dans le forum Langage
    Réponses: 2
    Dernier message: 30/08/2002, 13h34
  3. Format d'un exe pour DOS et pour Windows
    Par Alfhiger dans le forum Assembleur
    Réponses: 4
    Dernier message: 12/06/2002, 11h57
  4. lire une image au format RAW
    Par Anonymous dans le forum OpenGL
    Réponses: 5
    Dernier message: 20/05/2002, 00h11
  5. Réponses: 3
    Dernier message: 06/05/2002, 18h24

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