0
Округление до ближайших 100
Первое число необходимо округлить до ближайшего второго числа. Есть много способов сделать это, но какой алгоритм самый лучший и самый короткий? Кто готов принять вызов :-)
1244-> 1200
1254-> 1300
123-> 100
178-> 200
1576-> 1600
1449-> 1400
123456-> 123500
654321-> 654300
23-> 00
83-> 100
Ответов (7)7
Решение
0
Я знаю, что это поздно, но вот что я обычно настраиваю, когда имею дело с округлением до ближайшего nTh:
Number.prototype.roundTo = function(nTo) {
nTo = nTo || 10;
return Math.round(this * (1 / nTo) ) * nTo;
}
console.log("roundto ", (925.50).roundTo(100));
Number.prototype.ceilTo = function(nTo) {
nTo = nTo || 10;
return Math.ceil(this * (1 / nTo) ) * nTo;
}
console.log("ceilTo ", (925.50).ceilTo(100));
Number.prototype.floorTo = function(nTo) {
nTo = nTo || 10;
return Math.floor(this * (1 / nTo) ) * nTo;
}
console.log("floorTo ", (925.50).floorTo(100));
Я использую Number.ceilTo (..), потому что я работаю с Canvas и пытаюсь определить, насколько далеко нужно масштабировать.