黑马程序员技术交流社区
标题:
问下为什么math.round(11.5)=12,math.round(11.5)=-11??
[打印本页]
作者:
常万
时间:
2012-3-15 18:51
标题:
问下为什么math.round(11.5)=12,math.round(11.5)=-11??
为什么math.round(11.5)等于12,math.round(-11.5)等-11???
取整的方法是怎样算的?
作者:
李爱军
时间:
2012-3-15 19:26
math.round的方法是返回最接近参数的 long。
结果将舍入为整数:加上 1/2,对结果调用 floor 并将所得结果强制转换为 long 类型。
换句话说,结果等于以下表达式的值:
(long)Math.floor(a + 0.5d);
希望对你有帮助
作者:
乔玉吉
时间:
2012-3-15 19:57
round() 如果小数点后的数0<值<5,返回小于指定数据的最大整数
如果小数点后的数5<=值<10,返回大于指定数据的最小整数
其实就是---四舍五入
ceil()返回大于指定数据的最小整数. 其实就是---去小数后加1
floor()返回小于指定数据的最大整数. 其实就是---去小数
作者:
蒙武辉
时间:
2012-3-15 20:02
round(11.5)是四舍五入,所以是11.
math.round(-11.5)往上提升,不可能是-12
作者:
lucky_xingxing
时间:
2012-3-15 20:52
最难掌握的是round方法,它表示“四舍五入”,算法为Math.floor(x+0.5),即将原来的数字加上0.5后再向下取整,所以,Math.round(11.5)的结果为12,Math.round(-11.5)的结果为-11。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2