Вопрос
Кто-нибудь знает способ округления поплавка до ближайшего 0,05 в JavaScript?Округление до ближайшего 0.05 в JavaScript
Пример
BEFORE | AFTER
2.51 | 2.55
2.50 | 2.50
2.56 | 2.60
Текущий код
var _ceil = Math.ceil;
Math.ceil = function(number, decimals){
if (arguments.length == 1)
return _ceil(number);
multiplier = Math.pow(10, decimals);
return _ceil(number * multiplier)/multiplier;
}
Тогда в другом месте ... return (Math.ceil((amount - 0.05), 1) + 0.05).toFixed(2);
, который приводит к ...
BEFORE | AFTER
2.51 | 2.55
2.50 | 2.55
2.56 | 2.65
Perfect - спасибо очень много. Можете ли вы объяснить, почему вы должны это делать? – Sam
, хотя я бы подумал об этом изменении 'Math.ceil (число * 20 - 0,5)/20). ToFixed (2)' – Arth
1 = 20 * 0.05; вы умножаетесь на 20, чтобы округление до следующего целого числа и последующее деление на 20 эквивалентно округлению до следующего 0,05 в оригинале. – Armatus