在我的回复中,我得到的值为80.00000
DecimalFormat df = new DecimalFormat("##.##");
TextField.setText(df.format(Double.parseDouble(custom.getValue())));
我的问题是我得到80.000,我正在做一个parseDouble,它将返回一个原始的double类型,我正在做一个格式到这个双倍2 decimals
。
为什么我会80
代替80.00
?
我改变了方向并尝试了这个。
TextField.setText(String.format("%2f",Double.parseDouble(custom.getValue())));
现在我正在考虑80.000000
而不是80.00
答案 0 :(得分:10)
应该是"%.2f"
而不是"%2f"
TextField.setText(String.format("%.2f",Double.parseDouble(custom.getValue())));
您忘了添加.
答案 1 :(得分:2)
为什么我得到80而不是80.00?
第一个例子应该是:
DecimalFormat df = new DecimalFormat("##.00");
否则将禁止任何非重要的小数位。
答案 2 :(得分:2)
java.text.NumberFormat
是一个不错的选择
final NumberFormat nf = NumberFormat.getInstance();
nf.setMinimumFractionDigits(2);
nf.setMaximumFractionDigits(2);
nf.setGroupingUsed(false);
System.out.println(nf.format(123456789.123456789));
答案 3 :(得分:0)
在String.format参数中将%2f
更改为%.2f
。