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