95

我想使用 JavaScript 对整数进行舍入。例如:

10 = 10
11 = 20
19 = 20
24 = 30
25 = 30
29 = 30
4

4 回答 4

182

这应该这样做:

Math.ceil(N / 10) * 10;

其中 N 是您的数字之一。

于 2012-06-13T20:05:55.180 回答
31

要将数字四舍五入到 10 的下一个最大倍数,请在得到除以 10 的 Math.ceil 之前将数字加一。将结果乘以 10。

数学.ceil((n+1)/10)*10;

1->10
2->10
3->10
4->10
5->10
6->10
7->10
8->10
9->10
10->20
11->20
12->20
13->20
14->20
15->20
16->20
17->20
18->20
19->20
20->30
21->30
22->30
23->30
24->30
25->30
26->30
27->30
28->30
29->30
30->40
35-> 40
40-> 50
45-> 50
50-> 60
55-> 60
60-> 70
65-> 70
70-> 80
75-> 80
80-> 90
85-> 90
90-> 100
95-> 100
100-> 110
于 2012-06-13T20:24:00.400 回答
14

Math.round()四舍五入到最接近的整数。要四舍五入到任何其他数字,除以乘以十的幂。

一种这样的方法是:

function round(num,pre) {
    if( !pre) pre = 0;
    var pow = Math.pow(10,pre);
    return Math.round(num*pow)/pow;
}

floor您可以为和制作类似的功能ceiling。但是,无论你做什么,10都永远不会圆20

于 2012-06-13T20:06:37.647 回答
7

或这个

var i = 20;
var yourNumber = (parseInt(i/10, 10)+1)*10;
于 2012-06-13T20:06:59.253 回答