JAVA : afficher exactement 2 décimales

Bonjour,

Je voudrais afficher un nombre double avec exactement 2 décimales, j'ai réussi à faire l'arrondie mais par exemple si le résultat vaut 1.7, le programme va m'afficher 1.7 alors que je voudrais qu'il affiche 1.70

Aidez moi please !

2 réponses

  1. Salut,

    Après l'arrondi (supposé dans double mon_double) tu ajoutes ceci:

    //double mon_double = 1.7;
    DecimalFormat df = new DecimalFormat("0.00");
    System.out.println(df.format(mon_double));


    Cordialement,

    Dan
    1. danimo t'a donné la réponse :)

      Sinon au cas où voici ma méthode que j'utilise pour arrondir le double x à n décimales au cas où ça pourrait te servir.

      	private static double arrondiNDecimales(double x, int n)
      	{
      		double pow = Math.pow(10, n);
      		return (Math.floor(x * pow)) / pow;
      	}


      Exemple :
      double reel = 3.1415
      double arrondi = arrondiNDécimales(reel, 2);
      System.out.println(arrondi);
      // affiche 3.14
      1. Salut,

        OK pour l'arrondi scriptiz, mais ce que veut ifoks, c'est qu'au cas où l'arrondi donne par exemple 1.7 on affiche 1.70

        Avec cet exemple:

        double reel = 1.701234;
        double arrondi = arrondiNDecimales(reel, 2);
        System.out.println(arrondi);

        On affichera 1.7

        On pourait aussi faire un arrondi à 3 décimales qui dans cet exemple donnerait 1.701 et ensuite tronquer le résultat à 2 décimales, mais je pense qu'il vaut mieux utiliser DecimalFormat,

        Et ceci sans avoir à se risquer à utiliser BigDecimal,,,

        Cordialement,

        Dan
      2. Je sais bien danimo, c'est pour ça que je dit

        "danimo t'a donné la réponse. Sinon au cas où voici ma méthode que j'utilise pour arrondir le double x à n décimales au cas où ça pourrait te servir. "

        En gros je lui suggère en plus une méthode d'arrondi au cas où il utilisais une façon plus compliquée ^^
      3. Et je pense que ta réponse est loin d'être inutile...

        @+