Javascript를 사용하여 정수를 가장 가까운 10으로 반올림하는 방법


82

Javascript를 사용하여 사용자가 전달한 숫자를 가장 가까운 10으로 반올림하고 싶습니다. 예를 들어 7이 전달되면 10을, 33이 전달되면 30을 반환해야합니다.

답변:


161

숫자를 10으로 나누고 결과를 반올림 한 다음 다시 10을 곱합니다.

var number = 33;
console.log(Math.round(number / 10) * 10);


12
이 기술은를 사용하여도 작동합니다. Math.floor위쪽으로 반올림하지 않으려면
Alex W

11
Math.ceil 메서드를 사용하여 반올림 할 수 있습니다.
케렘 Demirer


19

iint는 어디에 있습니까 ?

가장 가까운 10의 배수로 내림하려면

11은 10이됩니다.
19는 10
이됩니다. 21은 20이됩니다.

parseInt(i / 10, 10) * 10;

가장 가까운 10의 배수로 반올림하려면

11이 20이 됨
19가 20이 됨
21이 30이 됨

parseInt(i / 10, 10) + 1 * 10;  

4
이어야합니다 : (parseInt (i / 10, 10) + 1) * 10; ?
user3924331

@ user3924331, 당신이 옳습니다. 정답은 (parseInt (i / 10, 10) + 1) * 10; 그냥 두 괄호를 추가 할 수 없습니다 때문에 편집이 적어도 6 자 이상이어야합니다 ... _ (ツ) _ / ¯
페르난도

가장 가까운 10까지 값 100에 대해 +10을
더하면

6

비슷한 것이 필요해서 함수를 작성했습니다. 여기서는 십진 반올림 기능을 사용했으며 정수 반올림에도 사용하므로 여기서도 대답으로 설정합니다. 이 경우 반올림 할 숫자와 반올림 할 숫자 10을 전달하면됩니다.

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

나는 당신이 그것을 함수로 만든 것을 좋아하지만 이것은 허용 된 대답과 다른 출력을 제공합니까? 그렇지 않다면 왜 다른 공식을 사용 했습니까?
RozzA

동일한 값을 반환하지만 사용하기 쉽기 때문에 수식이 다릅니다. 예를 들어, 가장 가까운으로 반올림 하려면 두 번째 인수로 .25사용하면 .25됩니다. 다른 답변의 공식을 사용하려면 반 직관적 인 4으로 반올림하고 싶을 때 두 번째 인수 로 사용해야 합니다 .25.
cjbarth

증명할 수 있습니까? 나는 방금 콘솔에서 몇 가지 테스트를 수행했으며 허용 된 답변은 .25두 번째 인수로 사용하여 정답을 반환합니다 .-나는 하나의 라이너 기능으로 만들었습니다function roundTo(x,y){return Math.round(x / y) * y}
RozzA

@RozzA, 당신 말이 맞아요. 나는 또 다른 유사한 질문에서 답을 생각하고 있었다. 기능을 단순화하겠습니다.
cjbarth
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.