130 votes

Formatage des décimales doubles en Java

J'ai des problèmes pour formater les décimales d'un double. Si j'ai une valeur double, par exemple 4,0, comment puis-je formater les décimales de façon à ce que ce soit 4,00 à la place ?

0voto

Mayank Parihar Points 1

Fonctionne à 100%.

import java.text.DecimalFormat;

public class Formatting {

    public static void main(String[] args) {
        double value = 22.2323242434342;
        // or  value = Math.round(value*100) / 100.0;

        System.out.println("this is before formatting: "+value);
        DecimalFormat df = new DecimalFormat("####0.00");

        System.out.println("Value: " + df.format(value));
    }

}

-3voto

Nick Points 1

Première importation NumberFormat . Puis ajoutez ceci :

NumberFormat currencyFormatter = NumberFormat.getCurrencyInstance();

Cela vous donnera deux décimales et mettra un signe dollar s'il s'agit d'une devise.

import java.text.NumberFormat;
public class Payroll 
{
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) 
    {
    int hoursWorked = 80;
    double hourlyPay = 15.52;

    double grossPay = hoursWorked * hourlyPay;
    NumberFormat currencyFormatter = NumberFormat.getCurrencyInstance();

    System.out.println("Your gross pay is " + currencyFormatter.format(grossPay));
    }

}

-4voto

flosk8 Points 143

Vous pouvez le faire comme suit :

double d = 4.0;
DecimalFormat df = new DecimalFormat("#.##");
System.out.print(df.format(d));

-4voto

Edgar Rivas Points 1

Je sais que c'est un vieux sujet, mais si vous voulez vraiment avoir le point au lieu de la virgule, sauvegardez votre résultat en tant que X,00 dans une chaîne et ensuite changez-le simplement pour un point afin d'obtenir le X,00.

Le moyen le plus simple est d'utiliser la fonction "replace".

String var = "X,00";
String newVar = var.replace(",",".");

La sortie sera le X.00 que vous souhaitiez. Pour vous faciliter la tâche, vous pouvez également tout faire en une fois et l'enregistrer dans une double variable :

Double var = Double.parseDouble(("X,00").replace(",",".");

Je sais que cette réponse n'est pas utile pour le moment, mais peut-être que quelqu'un qui consulte ce forum cherchera une solution rapide comme celle-ci.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X