如何在双打中将小数设置为只有 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中如何将数字格式批量转换为文本格式,并且保留二位小数?

如何强制数字显示 2 位小数?

将double转换为字符串时,如何在C#中将其四舍五入到N个小数位? [复制]

WORD表格复制到excel中,如何保留小数点后最后的零

如何在 Asp.Net MVC 中将正则表达式分解为多个正则表达式?

如何设置带两位小数的千位分隔符?