格式化双精度到 2 个小数位,前导 0

2022-09-01 03:40:35

可能的重复:
将小数点后双倍数舍入为 2 个有效数字

我正在尝试用前导零格式化双到2个小数位,但没有运气。这是我的代码:

Double price = 32.0;
DecimalFormat decim = new DecimalFormat("#.##");
Double price2 = Double.parseDouble(decim.format(price));

我希望输出是相反,我得到
任何解决方案??32.0032.0


答案 1

OP 想要前导零。如果是这样的话,那么根据Tofubeer:

    DecimalFormat decim = new DecimalFormat("0.00");

编辑:

请记住,我们在这里谈论的是格式化数字,而不是数字的内部表示形式。

    Double price = 32.0;
    DecimalFormat decim = new DecimalFormat("0.00");
    Double price2 = Double.parseDouble(decim.format(price));
    System.out.println(price2);

将使用默认格式打印。如果要打印格式化的表示形式,请使用以下格式进行打印:price2

    String s = decim.format(price);
    System.out.println("s is '"+s+"'");

从这个角度来看,我不认为你在做你想做的事,也不能。parseDouble()


答案 2

试试这个:

 DecimalFormat decim = new DecimalFormat("#.00");

推荐