Usando Javascript, me gustaría redondear un número pasado por un usuario al 10 más cercano. Por ejemplo, si se pasa 7 debería devolver 10, si se pasa 33 debería devolver 30.
fuente
Usando Javascript, me gustaría redondear un número pasado por un usuario al 10 más cercano. Por ejemplo, si se pasa 7 debería devolver 10, si se pasa 33 debería devolver 30.
Divida el número por 10, redondee el resultado y multiplíquelo por 10 nuevamente:
var number = 33;
console.log(Math.round(number / 10) * 10);
Math.round(x / 10) * 10
¿Dónde i
está un int.
Para redondear al múltiplo de 10 más cercano, es decir
11 se convierte en 10
19 se convierte en 10
21 se convierte en 20
parseInt(i / 10, 10) * 10;
Para redondear al múltiplo de 10 más cercano, es decir
11 se convierte en 20
19 se convierte en 20
21 se convierte en 30
parseInt(i / 10, 10) + 1 * 10;
Necesitaba algo similar, así que escribí una función. Usé la función para el redondeo decimal aquí , y como también la uso para el redondeo de enteros, la estableceré como la respuesta aquí también. En este caso, simplemente pase el número que desea redondear y luego 10, el número al que desea redondear.
function roundToNearest(numToRound, numToRoundTo) {
return Math.round(numToRound / numToRoundTo) * numToRoundTo;
}
.25
, simplemente puede usarlo .25
como segundo argumento. Si tuviera que usar las fórmulas en las otras respuestas, tendría que usarlas 4
como segundo argumento cuando quiera redondear .25
, lo cual es contrario a la intuición.
.25
como segundo argumento - Lo convertí en una función de una líneafunction roundTo(x,y){return Math.round(x / y) * y}
Math.floor
, si desea evitar el redondeo hacia arriba