0

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

var duration = 217;

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

那里有什么问题?

4

2 回答 2

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

(217 / 1000) % 60 = 0.217

0.217 的底值为 0。

于 2012-07-08T12:50:30.390 回答
2

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

同样,(217/ (60 * 1000)) % 60is0.0036166666666666665也向下舍入为0

因此,您会看到 的正确行为Math.floor(),即“返回小于或等于数字的最大整数”。

于 2012-07-08T12:50:49.030 回答