Используя Javascript, я хотел бы округлить число, переданное пользователем, до ближайшего 10. Например, если передано 7, я должен вернуть 10, если передано 33, я должен вернуть 30.
Ответы:
Разделите число на 10, округлите результат и снова умножьте на 10:
var number = 33;
console.log(Math.round(number / 10) * 10);
Math.round(x / 10) * 10
где i int.
Чтобы округлить до ближайшего кратного 10, т.е.
11 становится 10
19 становится 10
21 становится 20
parseInt(i / 10, 10) * 10;
Чтобы округлить до ближайшего числа, кратного 10, т.е.
11 становится 20
19 становится 20
21 становится 30
parseInt(i / 10, 10) + 1 * 10;
Мне было нужно нечто подобное, поэтому я написал функцию. Я использовал функцию десятичного округления здесь , и с тех пор я использую его для целого закругления, обращу его в качестве ответа здесь. В этом случае просто введите число, которое вы хотите округлить, а затем 10 - число, до которого хотите округлить.
function roundToNearest(numToRound, numToRoundTo) {
return Math.round(numToRound / numToRoundTo) * numToRoundTo;
}
.25, вы можете просто использовать его .25в качестве второго аргумента. Если бы вы использовали формулы в других ответах, вам пришлось бы использовать 4в качестве второго аргумента, когда вы хотите округлить до .25, что противоречит интуиции.
.25в качестве второго аргумента - я превратил его в функцию с одним лайнеромfunction roundTo(x,y){return Math.round(x / y) * y}
Math.floor, если вы хотите предотвратить округление вверх