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
本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!