如何在双打中将小数设置为只有 2 位? [复制]
Posted
技术标签:
【中文标题】如何在双打中将小数设置为只有 2 位? [复制]【英文标题】:How to set decimals to only 2 digits in Doubles? [duplicate] 【发布时间】:2013-04-24 12:12:42 【问题描述】:在我的回复中,我得到的值是80.00000
DecimalFormat df = new DecimalFormat("##.##");
TextField.setText(df.format(Double.parseDouble(custom.getValue())));
我的问题是我得到了 80.000,我正在做一个 parseDouble,它将返回一个原始的 double 类型,我正在将此 double 格式设置为 2 decimals
。
为什么我得到的是80
而不是80.00
?
我改变了我的方式并尝试了这个。
TextField.setText(String.format("%2f",Double.parseDouble(custom.getValue())));
现在我得到的是80.000000
而不是80.00
【问题讨论】:
【参考方案1】:应该是"%.2f"
而不是"%2f"
TextField.setText(String.format("%.2f",Double.parseDouble(custom.getValue())));
您忘记添加.
【讨论】:
谢谢。它对我有用..【参考方案2】:为什么我得到的是 80 而不是 80.00?
第一个例子应该是:
DecimalFormat df = new DecimalFormat("##.00");
否则任何不重要的小数将被抑制。
【讨论】:
【参考方案3】:java.text.NumberFormat
是一个不错的选择
final NumberFormat nf = NumberFormat.getInstance();
nf.setMinimumFractionDigits(2);
nf.setMaximumFractionDigits(2);
nf.setGroupingUsed(false);
System.out.println(nf.format(123456789.123456789));
【讨论】:
【参考方案4】:在 String.format 参数中将 %2f
更改为 %.2f
。
【讨论】:
以上是关于如何在双打中将小数设置为只有 2 位? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
在Excel中如何将数字格式批量转换为文本格式,并且保留二位小数?
将double转换为字符串时,如何在C#中将其四舍五入到N个小数位? [复制]