Java中的Math.round()方法
Java中的Math.round()方法,java,rounding,Java,Rounding,Math.round(4816.5)返回4817 我只想在小数点大于5而不是大于等于5时进行四舍五入。在这里,我需要结果为4816 请给我解答。Math.round(n)基本上与(long)Math.floor(n+0.5)相同,因此您可以稍微修改该算法: long rounded = (long) Math.ceil(n - 0.5); Math.round(n)与(long)Math.floor(n+0.5)基本相同,因此您可以稍微修改该算法: long rounded = (long)
Math.round(4816.5)
返回4817
我只想在小数点大于5而不是大于等于5时进行四舍五入。在这里,我需要结果为4816
请给我解答。Math.round(n)
基本上与(long)Math.floor(n+0.5)
相同,因此您可以稍微修改该算法:
long rounded = (long) Math.ceil(n - 0.5);
Math.round(n)
与(long)Math.floor(n+0.5)
基本相同,因此您可以稍微修改该算法:
long rounded = (long) Math.ceil(n - 0.5);
使用双负片:
-Math.round(-n)
使用双负片:
-Math.round(-n)
使用HALF_DOWN的RoundingMode,让Java处理其余部分:
BigDecimal value = new BigDecimal(4816.5);
value = value.setScale(0, RoundingMode.HALF_DOWN);
long result = value.longValue();
System.out.println(result);
使用HALF_DOWN的RoundingMode,让Java处理其余部分:
BigDecimal value = new BigDecimal(4816.5);
value = value.setScale(0, RoundingMode.HALF_DOWN);
long result = value.longValue();
System.out.println(result);
确保保留该类型。(将0.5更改为0.5f)确保保留该类型。(将0.5更改为0.5f)