Java, nombre de chiffre apres la virgule

Résolu
Bonjour,

J'affiche des entier de type double, et je voudrais les afficher avec un nombre de chiffre fixe après la virgule:

par exemple 0.800000011920929 deviendrait 0.8 et 0.22210646369331533 deviendrait 0.222106

je ne sait quelle méthode utilisé et mes recherches n'ont pour l'instant rien données.
--
La vérité appartient à ceux qui la cherchent et non point à ceux qui prétendent la détenir.
(n'oubliez pas de mettre résolu si vous avez trouvé votre   bonheur: pensez aux autres^^')
Configuration: windows viste, firefox

2 réponses

  • Votes
  • Date
  • Date décroissante
  1. Salut,

    En php la syntaxe est de type :
    $valeur = 0.22210646369331533;
    $valeur_arrondie = round($valeur, 5)
    ce qui te renvoie $valeur_arrondie = 0.22211

    En java ça doit pas être bien loin de ça je pense.
    1. Salut,

      Par exemple avec cette petite méthode:

            public static double floor(double a, int decimales, double plus)
            {
               double p = Math.pow(10.0, decimales);
               //return Math.floor((a*p) + 0.5) / p; // avec arrondi éventuel (sans arrondi >>>> + 0.0
               return Math.floor((a*p) + plus) / p;
            }
      


      Appels de la méthode:

              double plus = 0.0d;
              int decimales = 2;
              double a = 0.0d;
      
              //ton exemple 0.800000011920929 deviendrait 0.8   // sans arrondi:
               a = floor(0.800000011920929, decimales, plus); 
               System.out.println("a = " + a);
               
              
               //et 0.800000011920929 deviendrait 0.8 // avec arrondi éventuel:
               plus = 0.5d;
               a = floor(0.800000011920929, decimales, plus); // reste a 0.8
               System.out.println("a = " + a);
               
               
               //et ton exemple 0.22210646369331533 deviendrait 0.222106 // sans arrondi:
               plus = 0.0d;
               decimales = 6;
               a = floor(0.22210646369331533, decimales, plus); // 0.222106
               System.out.println("a = " + a);
               
               //et 0.22210646369331533 deviendrait 0.222106 // avec arrondi éventuel:
               plus = 0.5d;
               a = floor(0.22210646369331533, decimales, plus); // reste a 0.222106
               System.out.println("a = " + a);
      


      Cordialement,

      Dan