코딩이 즐겁다

[Javascript] 소수점 반올림, 올림, 내림, 버림 하는 방법 갓벽 가이드 본문

Javascript

[Javascript] 소수점 반올림, 올림, 내림, 버림 하는 방법 갓벽 가이드

코즐 2025. 3. 11. 14:36
반응형
반응형

 

JavaScript에서는 Math 객체를 사용하여 소수점 처리를 할 수 있습니다.

 


 

Math.round() 반올림

Math.round()는 값을 소수점 첫째 자리에서 반올림하여 정수로 변환합니다.

✅ 예제 코드: 소수점 이하가 0.5 이상이면 올림, 0.5 미만이면 내림

console.log(Math.round(4.3)); // 4
console.log(Math.round(4.5)); // 5
console.log(Math.round(-4.5)); // -4 (0.5는 양수일 때 올리고, 음수일 때 내림)
console.log(Math.round(-4.6)); // -5

 


 

Math.ceil() 올림

Math.ceil()은 값을 소수점 첫째 자리에서 무조건 올림하여 정수로 변환합니다.

✅ 예제 코드: 무조건 큰 정수로 올림

console.log(Math.ceil(4.1)); // 5
console.log(Math.ceil(4.9)); // 5
console.log(Math.ceil(-4.1)); // -4 (음수도 올림, 즉 0에 가까워짐)
console.log(Math.ceil(-4.9)); // -4

 


 

Math.floor() 내림

Math.floor()은 값을 소수점 첫째 자리에서 무조건 내림하여 정수로 변환합니다.

✅ 예제 코드: 무조건 작은 정수로 내림

console.log(Math.floor(4.9)); // 4
console.log(Math.floor(4.1)); // 4
console.log(Math.floor(-4.1)); // -5 (음수도 내림, 즉 더 작은 정수)
console.log(Math.floor(-4.9)); // -5

 


 

Math.trunc() 버림

Math.trunc()는 값의 소수점을 제거하고 정수 부분만 남김 (소수점 이하를 잘라냄)

✅ 예제 코드: 소수점을 무조건 제거하는 방식, 음수일 때 floor()와 차이 있음

console.log(Math.trunc(4.9)); // 4
console.log(Math.trunc(4.1)); // 4
console.log(Math.trunc(-4.9)); // -4
console.log(Math.trunc(-4.1)); // -4

 


 

소수점 자릿수 반올림, 올림, 내림, 버림 하는 방법

소수점 이하 n번째 자리에서 반올림, 올림, 내림, 버림하려면 10^n을 곱한 후 계산한 다음 다시 나눠주면 됩니다.

toFixed(n)을 활용한 방법

toFixed(n)은 n번째 자리까지 반올림한 문자열을 반환합니다.

✅ 예제 코드:

console.log((4.5678).toFixed(2)); // "4.57"
console.log((4.5611).toFixed(2)); // "4.56"
console.log((-4.5678).toFixed(2)); // "-4.57"

toFixed(n)은 문자열을 반환하므로 숫자 계산을 하려면 Number()로 변환하여 사용해야 합니다.

console.log(Number((4.5678).toFixed(2))); // 4.57

 


 

Math.round()로 소수점 n번째 자리에서 반올림

✅ 예제 코드:

function roundToN(num, n) {
    return Math.round(num * 10**n) / 10**n;
}

console.log(roundToN(4.5678, 2)); // 4.57
console.log(roundToN(4.5611, 2)); // 4.56

 


 

Math.ceil()로 소수점 n번째 자리에서 올림

✅ 예제 코드:

function ceilToN(num, n) {
    return Math.ceil(num * 10**n) / 10**n;
}

console.log(ceilToN(4.561, 2)); // 4.57
console.log(ceilToN(-4.561, 2)); // -4.56

 


Math.floor()로 소수점 n번째 자리에서 내림

✅ 예제 코드:

function floorToN(num, n) {
    return Math.floor(num * 10**n) / 10**n;
}

console.log(floorToN(4.569, 2)); // 4.56
console.log(floorToN(-4.569, 2)); // -4.57

 


Math.trunc()로 소수점 n번째 자리에서 버림

✅ 예제 코드:

function truncToN(num, n) {
    return Math.trunc(num * 10**n) / 10**n;
}

console.log(truncToN(4.569, 2)); // 4.56
console.log(truncToN(-4.569, 2)); // -4.56

 

반응형