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.
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.
Respuestas:
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 iestá 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 .25como segundo argumento. Si tuviera que usar las fórmulas en las otras respuestas, tendría que usarlas 4como segundo argumento cuando quiera redondear .25, lo cual es contrario a la intuición.
.25como 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