关于Math的round()、floor()、ceil()函数对负数的计算方式 | 您所在的位置:网站首页 › 编程中round什么意思 › 关于Math的round()、floor()、ceil()函数对负数的计算方式 |
各自功能分别是: round():四舍五入;2.3->2;2.5->3;2.6->3 -2.3->-2;-2.5->-2;-2.51->-3 floor():向下取整,得到的值不大于原来的值;2.3->2;2.5->2;2.6->2; -2.3->-3 ceil():向上取整,得到的值不小于原来的值;2.3->3;2.5->3;2.6->3; -2.3->2
另外这里说下 round() 对负数 例如 -2.5 的这样处于小数中间值 .5 的四舍五入计算: Math.round(-2.51) = -3 但是Math.round(-2.5) = -2;并不是 -3 通过查看Math.round()源码,有部分是: public static long round(double a) { return (long)floor(a + 0.5d); } 可以看出,round()计算规则是: 返回最接近参数的 long.结果将舍入为整数:加上 1/2,对结果调用 floor 并将所得结果强制转换为 long 类型. 所以: floor(-2.5+0.5) = -2; floor(-2.51+0.5) = floo(-2.01) = -3 因此Math.round(-2.5) = -2,而不是 -3
|
CopyRight 2018-2019 实验室设备网 版权所有 |