jul*_*ura 1 java format double
我想在 java 中舍入一个双精度值。总是将值四舍五入,但有时会以正确的方式将值四舍五入。例如:
值 = 6.5817
我想四舍五入,保留两位小数。所以我需要的价值是这样的:
值 = 6.59
这里重要的是始终保留两位小数,如果该值有更多两位小数,则始终舍入第二位小数。
有人知道我如何在java中做到这一点吗?
由于double值是不精确的,例如它不能完全存储一个数字0.07,您需要使用BigDecimal来帮助对一个double值进行四舍五入,获得错误值的可能性最小。
要四舍五入到 2 位小数,请使用:
double value = 6.5817;
double roundedUp = BigDecimal.valueOf(value).setScale(2, RoundingMode.UP).doubleValue();
System.out.println(roundedUp); // prints 6.59
Run Code Online (Sandbox Code Playgroud)
请注意,此代码打印0.07时value = 0.07,不像例如Math.ceil(value * 100.0) / 100.0,其中不正确的打印0.08。
| 归档时间: |
|
| 查看次数: |
93 次 |
| 最近记录: |