Javascript使用舍入到最接近的10

时间:2012-06-13 20:03:42

标签: javascript

我想使用JavaScript循环整数。例如:

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

4 个答案:

答案 0 :(得分:100)

这应该这样做:

Math.ceil(N / 10) * 10;

其中N是您的一个号码。但是,这对你的第一个案例不起作用(10轮到20轮,但为什么会这样?)。

答案 1 :(得分:19)

要将数字四舍五入为10的下一个最大倍数,请先将数字加1 将除法的Math.ceil乘以10.将结果乘以十。

<强> Math.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

答案 2 :(得分:9)

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

这样的一种方法是:

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

您可以为floorceiling制作类似的功能。但是,无论您做什么,10都不会转到20

答案 3 :(得分:6)

或者

var i = 20;
var yourNumber = (parseInt(i/10, 10)+1)*10;