Java 四舍五入 0.05 的钱
我有 7.125(双倍),需要将其变为 7.15。最简单的方法是什么?
找到了舍入,但我得到 7.13,请帮忙。
谢谢
I have 7.125 (double), need to make it 7.15. What could be the easiest way?
Found round up, but am getting 7.13, please help.
thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
最简单的方法是乘以
20.0
,舍入为整数,然后再次除以20.0
。这样想:1.0 / 20.0 = 0.05
...这就是为什么这会起作用。请注意,“舍入”与“取整”(或转换为
int
)不同。您应该将java.lang.Math.round()
用于double
和float
类型,或java.math.BigDecimal.round (MathContext)
对于BigDecimal
类型您最好使用
BigDecimal
来实现此目的The easiest way is to multiply by
20.0
, round to integers and divide by20.0
again. Think of it this way:1.0 / 20.0 = 0.05
... That's why this will work.Note, "rounding" is not the same as "flooring" (or casting to
int
). You should usejava.lang.Math.round()
fordouble
andfloat
types, orjava.math.BigDecimal.round(MathContext)
forBigDecimal
typesYou might be better off using
BigDecimal
for this向上舍入到最接近的 0.05 的简单方法如下。
这适用于您想要舍入的任何增量。只需更改等式中的 0.5 即可。
A simple way to round up to the nearest .05 is the following.
This works with any increments you would like to round by. Just change the 0.5 in the equation.
将值取底然后添加 0.15?
Floor the value then add 0.15?