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 :

Afficher le zéro dans un floor ou round


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    465
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 465
    Par défaut Afficher le zéro dans un floor ou round
    Bonjour à tous,
    J'ai un petit problème de formattage de chiffre après le virgule...
    En fait j'ai essayé avec floor et round et j'ai toujours le même problème...
    J'arrive bien a effectuer l'affichage de deux chiffres après la virgule, néanmoins lorsque le deuxième chiffre après la virgule est un zéro celui - ci ne s'affiche pas...
    Exemple :
    45,68 -> ok
    mais pour 45,50 il m'affiche 45,5 et non 45,50...
    Comment modifier celà ou comment faire pour qu'l ne me supprime pas le zéro au moment de l'arrondi à deux chiffres après la virgule...?
    Merci d'avance
    a+

  2. #2
    Membre confirmé Avatar de r2d2abc
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    212
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 212
    Par défaut
    salut, ça pourrait peut être résoudre ta question.
    A bientôt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    public static void main (String[] args)
      {
        String filter="0.000";
        double din=123.4;
        DecimalFormat frm = new DecimalFormat(filter);
        String dout = frm.format(din);
        System.out.println("bef: d="+din+"] aft: d="+dout);//bef: d=123.4] aft: d=123,400
      }

  3. #3
    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,


    Plus d'info dans la FAQ : Comment convertir un nombre en chaîne formatée ?


    a++

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    465
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 465
    Par défaut
    Oui d'accord..mais là ça m'oblige à convertir en chaine formattée...
    Or le l'arrondi a deux chiffres se passe bien ,sauf lorsque le dernier chiffre après la virgule est un zéro..celui -ci ne s'affiche pas..
    J'ai bien compris que l'affichage concerne un formattage de chaine et que c'est autre chose que le calcul où le zéro 2 chiffres après la virgule n'est pas nécessaire...
    Mais n'y aurait t-'il pas plus simple..?
    Encore merci
    a+

  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
    Je ne comprend pas : tu as un problème d'affichage ou pas ?

    Si tu as un problème d'affichage tu dois régler cela via un formatage approprié et je ne vois pas comment faire plus simple...

    Sinon expliques clairement ce qui te pose problème !

    a++

  6. #6
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    l'absence de 0 en deuxième position à l'affichage n'a rien à voir avec l'information présente dans ton float ou ton double. Si ton problème c'est d'afficher des "chaines de caractère" avec 2 chiffres après la virgule, il n'y a pas d'autre possibilité que de passer par le formatage.

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    465
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 465
    Par défaut
    J'effectue un calcul dont les résultats sont affichés dans plusieurs colonnes d'une jTable...
    Le calcul se fait en double...et donc avec une multitudes de positions après la virgule..ce qui est normal..
    Au moment du calcul pour limiter la position des chiffres après la virgule , j'utilise "round" qui lui - même me limite la position à deux chiffres, donc mon formattage d'arrondi se fait bien..
    Exemple : 45;50 ou 475,68 ou 2000,14 ou encore 1678,95 etc..etc..
    Donc toujours pas de problèmes à ce niveau...

    Par contre lorsque j'ai l'affichage de ces mêmes nombres dans ma jTable, et en reprenant l'exemple des nombres mentionnés ci-dessus, j'obtient :

    475,68
    1678,95
    45,5 <<------ l'alignement est moche en l'absence du zéro
    2000,14
    14,99
    56,5 << ------l'alignement est moche en l'absence du zéro
    etc...etc..

    J'ai bien compris l'instruction du décimal format , son rôle etc..D'ailleurs je l'utilise bien pour le formattage dans des jText, etc..
    Mais je me posait la question s'il y avait possibilité au niveau d'un floor ou d'un round de juste rajouter %f ou ce genre dans l'instruction floor, round.....pour "forcer" la reconnaissance du zéro ...sans devoir à nouveau refaire une convertion String etc...
    J'ai essayé mais j'ai un message d'erreur ou plutot la ligne qui est surlignée en rouge..
    L'autre solution plus simple c'est de faire l'arrondissement round à +0,51 au lieu de + 0,50... (pas encore testé ..)
    Voilà ...je voulais juste savoir si quelqu'un avait meilleure astuce..
    a+

Discussions similaires

  1. Réponses: 1
    Dernier message: 26/07/2009, 01h21
  2. comment ne pas afficher les zéro dans un diagramme à barres empilées
    Par sebastien84 dans le forum SAP Crystal Reports
    Réponses: 0
    Dernier message: 10/10/2007, 12h17
  3. Réponses: 7
    Dernier message: 17/04/2007, 22h31
  4. Comment afficher FLASH directement dans le EMAIL
    Par Bilmagic dans le forum Flash
    Réponses: 3
    Dernier message: 05/06/2003, 00h38
  5. Réponses: 2
    Dernier message: 10/06/2002, 11h03

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