Używając JavaScript, chciałbym zaokrąglić liczbę przekazaną przez użytkownika do najbliższej dziesiątki. Na przykład, jeśli minie 7, powinienem zwrócić 10, a jeśli 33, powinienem zwrócić 30.
Odpowiedzi:
Podzielić liczbę przez 10, zaokrąglić wynik i ponownie pomnożyć przez 10:
var number = 33;
console.log(Math.round(number / 10) * 10);
Math.round(x / 10) * 10
Gdzie ijest int.
Zaokrąglić w dół do najbliższej wielokrotności 10, tj
11 staje się 10
19 staje się 10
21 staje się 20
parseInt(i / 10, 10) * 10;
Zaokrąglić w górę do najbliższej wielokrotności 10 tj
11 staje się 20
19 staje się 20
21 staje się 30
parseInt(i / 10, 10) + 1 * 10;
Potrzebowałem czegoś podobnego, więc napisałem funkcję. Użyłem funkcję przecinku zaokrąglenia tutaj , a ponieważ ja również użyć go do całkowitej zaokrąglenia, będę ustawić go jako odpowiedź tutaj też. W takim przypadku po prostu podaj liczbę, którą chcesz zaokrąglić, a następnie 10, liczbę, do której chcesz zaokrąglić.
function roundToNearest(numToRound, numToRoundTo) {
return Math.round(numToRound / numToRoundTo) * numToRoundTo;
}
.25, możesz po prostu użyć .25jako drugiego argumentu. Gdybyś miał użyć formuł w innych odpowiedziach, musiałbyś użyć 4jako drugiego argumentu, gdy chcesz zaokrąglić do .25, co jest sprzeczne z intuicją.
.25jako drugiego argumentu - zrobiłem to w funkcji jednego liniowcafunction roundTo(x,y){return Math.round(x / y) * y}
Math.floor, jeśli chcesz zapobiec zaokrąglaniu w górę