Javascript 使用舍入到最接近的 10
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/11022488/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Javascript using round to the nearest 10
提问by mark denfton
I would like to round integers using JavaScript. For example:
我想使用 JavaScript 对整数进行四舍五入。例如:
10 = 10
11 = 20
19 = 20
24 = 30
25 = 30
29 = 30
回答by alexn
This should do it:
这应该这样做:
Math.ceil(N / 10) * 10;
Where N is one of your numbers. However, this does not work for your first case (10 rounds to 20, but why would it?).
其中 N 是您的数字之一。但是,这不适用于您的第一种情况(10 轮到 20 轮,但为什么会这样?)。
回答by kennebec
To round a number to the next greatest multiple of 10, add one to the number before getting the Math.ceil of a division by 10. Multiply the result by ten.
要将数字四舍五入到 10 的下一个最大倍数,请在得到除以 10 的 Math.ceil 之前的数字加 1。将结果乘以 10。
Math.ceil((n+1)/10)*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
回答by Niet the Dark Absol
Math.round()
rounds to the nearest integer. To round to any other digit, divide and multiply by powers of ten.
Math.round()
舍入到最接近的整数。要四舍五入到任何其他数字,请除以乘以十的幂。
One such method is this:
一种这样的方法是这样的:
function round(num,pre) {
if( !pre) pre = 0;
var pow = Math.pow(10,pre);
return Math.round(num*pow)/pow;
}
You can make similar functions for floor
and ceiling
. However, no matter what you do, 10
will never round to 20
.
您可以为floor
和制作类似的功能ceiling
。但是,无论您做什么,10
都永远不会舍入到20
。
回答by silly
or this
或这个
var i = 20;
var yourNumber = (parseInt(i/10, 10)+1)*10;