保留两位小数

6
(Math.round(doubleValue*100))/100.0

有没有更好的方法将小数保留两位小数?


1
定义得更好?你认为那段代码有什么问题吗? - Mikola
您的意思是将1000改为1还是将10.123456改为10.12? - Ovais Khatri
相似的问题,在https://dev59.com/-lbUa4cB1Zd3GeqPC-VN中关于钱的四舍五入。 - rajah9
@Mikola 看起来不太好。@Ovais 后者。 - Michael
1
可能是将双精度数四舍五入为小数点后2个有效数字的重复问题。 - Thomas Matthews
2个回答

7

如果您对小数位数和精确的小数值感兴趣,那么您通常应该首先使用java.math.BigDecimal。您可以使用Decimal.roundDecimal.setScale根据您的确切需求进行四舍五入。


3
DecimalFormat format=new DecimalFormat("#.##");
System.out.println(format.format(doubleValue));

1
你不需要从java.lang导入任何内容。 - Martijn Courteaux
请注意:这不会四舍五入数字。它只是显示已格式化为特定精度的字符串。John Skeet的答案是在没有OP乘-四舍五入-除法的情况下将数字舍入到明确小数位数的适当方法。 - Atreys

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接