【发布时间】:2018-12-31 21:35:16
【问题描述】:
我有一个随机数,例如 35 127 3658 45782 等...我想将它们四舍五入为 10^ 形式,例如 10 100 1000 10000。我可以使用以下代码:
Math.pow(10, (int)(Math.log10(number)) + 1);
但是对于这样的基本操作,这段代码在我看来有点复杂和冗长。有没有更好的方法?
【问题讨论】:
-
我实际上认为没有更简单的方法可以做到这一点。您可以使用字符串操作(如
Math.pow(10, String.valueOf(number).length()))来计算位置的数量,但我认为这不会更优雅或更高效。 -
This 回答建议使用分而治之来计算地点数量可能会更快,但我并不认为这就是您要寻找的(称之为优雅解决方案将是一个延伸)
-
我认为没有比这更优雅的方法了。但无论如何都是 ty
-
我认为如果你想获得精度,你应该使用 BigDecimal。如果您想了解更多信息,请单击链接。 geeksforgeeks.org/bigdecimal-class-java