如何在双打中将小数设置为仅2位数?
在我的回答中,我得到的值为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
应该是"%.2f"
而不是"%2f"
TextField.setText(String.format("%.2f",Double.parseDouble(custom.getValue())));
你忘记添加了.
为什么我得到80而不是80.00?
第一个例子应该是:
DecimalFormat df = new DecimalFormat("##.00");
否则,任何非重要的小数位都将被抑制。
java.text.NumberFormat
是一个很好的选择
final NumberFormat nf = NumberFormat.getInstance(); nf.setMinimumFractionDigits(2); nf.setMaximumFractionDigits(2); nf.setGroupingUsed(false); System.out.println(nf.format(123456789.123456789));
在String.format参数中将%2f
更改为%.2f
。