为什么Math.round(1.53 * 20)/ 20 = 1.55?这实际上是如何工作的?
问题描述:
这更多的是一个理论问题,但为什么这个代码片段凑到最接近的0.05?为什么Math.round(1.53 * 20)/ 20 = 1.55?这实际上是如何工作的?
Math.round(1.53*20)/20
Math.round(1.53)为2。Math.round(1.53)/ 20为0.1。然后
Math.round(1.53*20)/20
是神奇1.55。有没有更多的数学方法来理解这一点?
答
Math.round()所描述的here
为了您输入Math.round(1.53*20)/20
它会先计算1.53*20
答案将返回最接近的整数值是30.6然后,你的表达式变为
Math.round(30.6)/20
的Math.round(30.6)
该结果后是31(最接近整数) 然后你的语句就变成了31/20
这就是1.55
你的意思是'数学。圆(1.53 * 20)/ 20'?这会给出结果'1.55',但是你给出的表达式不会。 –
'Math.round(1.53/20)/ 20'给我0.你从哪里得到1.55? – agrm
你的代码返回(预期)**'0' **。 –