JavaScript Math对象中Math.round()四舍五入
js中Math.round()是一个数值实现“四舍五入”的方法,在msdn和w3school文档中是理解为:把一个数字舍入为最接近的整数。在我们实际应用中:math.round(-11.6)的结果为-12这个好理解,但是math.round(-11.5)返回值为什么是-11而不是-12呢?
我们可以这样理解Math.floor(x+0.5),即将原来的数字加上0.5后,根据x为负数向上取整,x为整向上取整。所以:
Math.round(-11.5);//理解为 -11.5+0.5=-11,向上取整结果输出为-11
Math.round(-11.6);//理解为 -11.6+0.5=-11.1,向上取整结果输出为-12
Math.round(11.5);//理解为 11.5+0.5=12,向下取整结果输出为12
Math.round(11.6);//理解为 11.6+0.5=12.1,向下取整结果输出为12case1: 小数点后第一位=5
//正数:
Math.round(11.5); //输出12
//负数:
Math.round(-11.5);//输出-11Case2:小数点后第一位 < 5
//正数:
Math.round(11.49);//输出11
//负数:
Math.round(-11.49);//输出-11Case3:小数点后第一位 > 5
//正数:
Math.round(11.69);//输出12
//负数:
Math.round(-11.69);//输出 -12Case4:小数点位数太多,会涉及精度问题,结果会不精准。
Math.round(-10.500000000000001);//输出-11
Math.round(-10.5000000000000001);//输出-10
本文内容仅供个人学习/研究/参考使用,不构成任何决策建议或专业指导。分享/转载时请标明原文来源,同时请勿将内容用于商业售卖、虚假宣传等非学习用途哦~感谢您的理解与支持!