可能重复:
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
任何解决方案??
答案 0 :(得分:52)
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");