round redondear quitar number hacia decimals decimales arriba javascript rounding

redondear - quitar decimales javascript



redondea al más cercano.25 javascript (8)

Aquí está la respuesta de @Gumbo en forma de una función:

var roundNearQtr = function(number) { return (Math.round(number * 4) / 4).toFixed(2); };

Ahora puedes hacer llamadas:

roundNearQtr(5.12345); // 5.00 roundNearQtr(3.23); // 3.25 roundNearQtr(3.13); // 3.25 roundNearQtr(3.1247); // 3.00

Quiero convertir todos los números al .25 más cercano.

Asi que...

5 becomes 5.00 2.25 becomes 2.25 4 becomes 4.00 3.5 becomes 3.50

Gracias


Aquí hay una función genérica para hacer redondeos. En los ejemplos anteriores, se usó 4 porque está en el inverso de .25. Esta función le permite al usuario ignorar ese detalle. Actualmente no admite la precisión preestablecida, pero puede agregarse fácilmente.

function roundToNearest(numToRound, numToRoundTo) { numToRoundTo = 1 / (numToRoundTo); return Math.round(numToRound * numToRoundTo) / numToRoundTo; }


Aquí hay una implementación de lo que dijo rslite:

var number = 5.12345; number = (Math.round(number * 4) / 4).toFixed(2);


Multiplica por 4, redondea a entero, divide por 4 y formatea con dos decimales.

Editar ¿ Alguna razón para los downvotes? Al menos deja un comentario para saber qué se debe mejorar.



Una muy buena aproximación para el redondeo:

function Rounding (number, precision){ var newNumber; var sNumber = number.toString(); var increase = precision + sNumber.length - sNumber.indexOf(''.'') + 1; if (number < 0) newNumber = (number - 5 * Math.pow(10,-increase)); else newNumber = (number + 5 * Math.pow(10,-increase)); var multiple = Math.pow(10,precision); return Math.round(newNumber * multiple)/multiple; }


Utilice la función de abajo, espero que ayude

function roundByQuarter(value) { var inv = 1.0 / 0.25; return Math.round(value * inv) / inv; }

Llame a la función como se muestra a continuación, obtendrá el valor del Trimestre más cercano, es decir, no devolverá .32, .89, .56, pero devolverá .25, .75, .50 decimales solamente.

roundByQuarter(2.74) = 2.75 roundByQuarter(2.34) = 2.25 roundByQuarter(2.94) = 3.00 roundByQuarter(2.24) = 2.25


function roundToInc(num, inc) { const diff = num % inc; return diff>inc/2?(num-diff+inc):num-diff; } > roundToInc(233223.2342343, 0.01) 233223.23 > roundToInc(505, 5) 505 > roundToInc(507, 5) 505 > roundToInc(508, 5) 510