Ответ 1
Это должно сделать это:
Math.ceil(N / 10) * 10;
Где N - один из ваших номеров. Однако это не работает для вашего первого случая (10 раундов до 20, но почему?).
Я хотел бы округлить целые числа, используя JavaScript. Например:
10 = 20
11 = 20
19 = 20
24 = 30
25 = 30
29 = 30
Это должно сделать это:
Math.ceil(N / 10) * 10;
Где N - один из ваших номеров. Однако это не работает для вашего первого случая (10 раундов до 20, но почему?).
Чтобы округлить число до следующего наибольшего кратного 10, добавьте его к числу до получение Math.ceil деления на 10. Умножьте результат на десять.
Math.ceil((п + 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
или
var i = 20;
var yourNumber = (parseInt(i/10, 10)+1)*10;
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
.