要获得最多两位小数的小数点值,我使用了这个函数:
double roundTwoDecimals(double d) {
DecimalFormat twoDForm = new DecimalFormat("##.##");
return Double.valueOf(twoDForm.format(d));
但是虽然有一个像“5.50”这样的值,但是使用这个函数我只得到了“5.5”。 相反,我想获得具有上述功能的 5.50。那么我应该改变什么?
请给我更新后的函数或任何更改输出(例如“0.00”)的建议。
最佳答案
您的示例适用于将数字四舍五入为 2 位数字。但是您会丢失尾随零,因为数值变量( double 、 float ……)不存储任何格式信息。
如果你想看到尾随零(比如 5.50),你必须格式化输出的数字:
DecimalFormat twoDForm = new DecimalFormat("#0.00");
System.out.println(twoDForm.format(d));
关于java - 我应该在该函数中更改什么以获得类似 0.00 的效果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7712735/