// 返回-20
x = Math.round(-20.5)
// 返回-21
x = Math.round(-20.51)
为什么?
回复 (7)
N
Math.round(-0.5) => -0与 Math.round(-0.51) => -1, ECMA规范:
J
这是一个数学问题啊,你画个数轴看看就清楚了,另外
// 返回-20
x = Math.trunc(-20.5)
// 返回-20
x = Math.trunc(-20.51)
H
H
临界点,向右靠,不知道这样理解对不
W
Math.round()这个函数其实是【四舍六入五成双】 对于位数很多的近似数,当有效位数确定后,其后面多余的数字应该舍去,只保留有效数字最末一位,这种修约(舍入)规则是“四舍六入五成双”,也即“4舍6入5凑偶”这里“四”是指≤4 时舍去,"六"是指≥6时进上,"五"指的是根据5后面的数字来定,当5后有数时,舍5入1;当5后无有效数字时,需要分两种情况来讲:①5前为奇数,舍5入1;②5前为偶数,舍5不进。(0是偶数) 参考: 四舍六入五成双
参与回复
登录后即可参与回复。登录