Java 将小数格式化为 2 位精度
Java formatting decimals to 2 digits precision
我现在正在做这个
DecimalFormat df = new DecimalFormat("#.##");
//usage: df.format(someDouble);
但我不知道这是否是 "round off" 显示 double 到 2 个小数点的正确方法。即使小数点左边的位数 > 1,这是否有效?
你应该使用:
DecimalFormat df = new DecimalFormat("#.00");
DecimalFormat df = new DecimalFormat("#.##");
表示,这些小数位是可选的。您可以在 1.2
或 1.0
.
上应用时看到差异
要回答关于四舍五入的问题,documentation 告诉它:
Rounding
DecimalFormat provides rounding modes defined in RoundingMode for formatting. By default, it uses RoundingMode.HALF_EVEN.
因此,这取决于您使用 the setter 设置您想要的 RoundingMode
。
public void setRoundingMode(RoundingMode roundingMode)
即使小数点左边的位数 > 1 也能正常工作吗?
会的。
我现在正在做这个
DecimalFormat df = new DecimalFormat("#.##");
//usage: df.format(someDouble);
但我不知道这是否是 "round off" 显示 double 到 2 个小数点的正确方法。即使小数点左边的位数 > 1,这是否有效?
你应该使用:
DecimalFormat df = new DecimalFormat("#.00");
DecimalFormat df = new DecimalFormat("#.##");
表示,这些小数位是可选的。您可以在 1.2
或 1.0
.
要回答关于四舍五入的问题,documentation 告诉它:
Rounding
DecimalFormat provides rounding modes defined in RoundingMode for formatting. By default, it uses RoundingMode.HALF_EVEN.
因此,这取决于您使用 the setter 设置您想要的 RoundingMode
。
public void setRoundingMode(RoundingMode roundingMode)
即使小数点左边的位数 > 1 也能正常工作吗?
会的。