相关疑难解决方法(0)

使用Java中的BigDecimal进行舍入模式

以下代码使用RoundingMode.HALF_EVEN,

BigDecimal value1 = new BigDecimal("4.5");
value1=value1.setScale(0, RoundingMode.HALF_EVEN);

BigDecimal value2 = new BigDecimal("6.5");
value2=value2.setScale(0, RoundingMode.HALF_EVEN);

System.out.println(value1+"\n"+value2);
Run Code Online (Sandbox Code Playgroud)

显示46分别.在我看来,它应该显示57分别因为丢弃的小数部分左边的数字(在这种情况下是5)是奇数.在这种情况下,它执行RoundingMode.HALF_UP

和在以下情况下RoundingMode.HALF_UP, RoundingMode.UP是当被丢弃的小数部分是> = 0.5(其为真)进行的,否则RoundingMode.DOWN被执行.

java rounding bigdecimal

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

bigdecimal ×1

java ×1

rounding ×1