为什么Math.floor会返回零?

时间:2012-07-08 12:45:40

标签: javascript math

我想问为什么Math.floor方法返回零。这是我的代码:

var duration = 217;

var sec = Math.floor((duration / 1000) % 60);
var min = Math.floor((duration / (60 * 1000)) % 60);

那里有什么问题?

2 个答案:

答案 0 :(得分:6)

var sec = Math.floor((duration / 1000) % 60);

(217/1000)%60 = 0.217

0.217的最低值为0。

答案 1 :(得分:2)

(217/ 1000) % 60的结果为0.217 Math.floor()向下舍入为0

同样,(217/ (60 * 1000)) % 600.0036166666666666665,也会向下舍入为0

所以你看到Math.floor()的正确行为,“返回小于或等于数字的最大整数”。