Pregunta
¿Alguien sabe de una forma de redondear un flotador con una aproximación de 0.05 en JavaScript?Redondeando al 0.05 más cercano en JavaScript
Ejemplo
BEFORE | AFTER
2.51 | 2.55
2.50 | 2.50
2.56 | 2.60
Código actual
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;
}
Luego en otro lugar ... return (Math.ceil((amount - 0.05), 1) + 0.05).toFixed(2);
que está dando lugar ...
BEFORE | AFTER
2.51 | 2.55
2.50 | 2.55
2.56 | 2.65
perfecto - muchas gracias. ¿Eres capaz de explicar * por qué * necesitas hacer esto? – Sam
aunque consideraría este cambio 'Math.ceil (number * 20 - 0.5)/20) .toFixed (2)' – Arth
1 = 20 * 0.05; se multiplica por 20, por lo que el redondeo al siguiente entero y luego dividir por 20 equivale al redondeo al siguiente 0,05 en el original. – Armatus