格式化双精度到 2 个小数位,前导 0
可能的重复:
将小数点后双倍数舍入为 2 个有效数字
我正在尝试用前导零格式化双到2个小数位,但没有运气。这是我的代码:
Double price = 32.0;
DecimalFormat decim = new DecimalFormat("#.##");
Double price2 = Double.parseDouble(decim.format(price));
我希望输出是相反,我得到
任何解决方案??32.00
32.0
可能的重复:
将小数点后双倍数舍入为 2 个有效数字
我正在尝试用前导零格式化双到2个小数位,但没有运气。这是我的代码:
Double price = 32.0;
DecimalFormat decim = new DecimalFormat("#.##");
Double price2 = Double.parseDouble(decim.format(price));
我希望输出是相反,我得到
任何解决方案??32.00
32.0
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()
试试这个:
DecimalFormat decim = new DecimalFormat("#.00");