使用前导0格式化双精度到2位小数

时间:2010-10-19 23:53:46

标签: java double

  

可能重复:
  Round a double to 2 significant figures after decimal point

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

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

我希望输出为32.00而不是32.0 任何解决方案??

2 个答案:

答案 0 :(得分:52)

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()正在做你想做的事,也不能。{/ p>

答案 1 :(得分:14)

试试这个:

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