본문 바로가기

프로그래밍/[javascript] 자바스크립트

[javascript] 소수점 반올림(round), 올림(ceil), 내림(floor), 버림(trunc)

by GenieIT* 2024. 10. 25.

728x90
728x90

 

0. 개요

  • 자바스크립트에서 Math.floor(), Math.ceil(), Math.round(), Math.trunc() 함수는 모두 소수점을 처리하여 정수로 변환하는 데 사용되지만, 각각 소수점을 처리하는 방식이 다릅니다.

 

1. Math.floor() - 내림

  • 주어진 숫자의 소수점 이하를 무조건 버리고 더 작은 쪽의 정수(작거나 같은 가장 큰 정수)를 반환합니다. 소수점을 내림 처리하는 함수입니다.
  • 음수일 경우도 더 작은 쪽으로 내림합니다.

 

1-1. 기본 문법

  • x: 처리할 숫자
Math.floor(x)

 

 

1-2. 기본 예제

console.log(Math.floor(4.9));   // 4
console.log(Math.floor(4.1));   // 4
console.log(Math.floor(-4.9));  // -5 (음수일 때는 더 작은 수로 내림)
console.log(Math.floor(-4.1));  // -5

 

1-3. 활용 예제

1-3-1. 십의 자리 내림 처리

let number = 15754;
let flooredNumber = Math.floor(number / 10) * 10;

console.log(flooredNumber);  // 15750

 

 

1-3-2. 양의 실수 소수점 둘째 자리 내림 처리

let number = 3.141592;
let flooredNumber = Math.floor(number * 100) / 100;

console.log(flooredNumber);  // 3.14

 

1-3-3. 음의 실수 소수점 둘째 자리 내림 처리

let number = -3.141592;
let flooredNumber = Math.floor(number * 100) / 100;

console.log(flooredNumber);  // -3.15

 

2. Math.ceil() - 올림

  • 주어진 숫자의 소수점 이하를 무조건 올려서 더 큰 쪽의 정수(크거나 같은 가장 작은 정수)를 반환합니다. 소수점을 올림 처리하는 함수입니다.
  • 음수일 경우도 더 큰 수로 올립니다.

 

2-1. 기본 문법

  • x: 처리할 숫자
Math.ceil(x)

 

 

2-2. 기본 예제

console.log(Math.ceil(4.1));   // 5
console.log(Math.ceil(4.9));   // 5
console.log(Math.ceil(-4.1));  // -4 (음수일 때는 더 큰 수로 올림)
console.log(Math.ceil(-4.9));  // -4

 

2-3. 활용 예제

2-3-1. 십의 자리 올림 처리

let number = 15754;
let roundedNumber = Math.ceil(number / 10) * 10;

console.log(roundedNumber);  // 15760

 

 

2-3-2. 양의 실수 소수점 둘째 자리 올림 처리

let number = 3.141592;
let roundedNumber = Math.ceil(number * 100) / 100;

console.log(roundedNumber);  // 3.15

 

2-3-3. 음의 실수 소수점 둘째 자리 올림 처리

let number = -3.141592;
let roundedNumber = Math.ceil(number * 100) / 100;

console.log(roundedNumber);  // -3.14

 

3. Math.round() - 반올림

  • 주어진 숫자를 반올림하여 가장 가까운 정수를 반환합니다. 소수점 첫째 자리에서 0.5 이상이면 올리고, 그 미만이면 내림 처리합니다.
  • 양수음수 모두 절대값을 기준으로 반올림합니다.

 

3-1. 기본 문법

  • x: 처리할 숫자
Math.round(x)

 

 

3-2. 기본 예제

console.log(Math.round(4.4));   // 4 (0.5 미만이므로 내림)
console.log(Math.round(4.5));   // 5 (0.5 이상이므로 올림)
console.log(Math.round(-4.5));  // -4 (음수의 경우도 절대값 기준으로 반올림)
console.log(Math.round(-4.6));  // -5

 

3-3. 활용 예제

3-3-1. 십의 자리 반올림 처리

let number = 15754;
let roundedNumber = Math.round(number / 10) * 10;

console.log(roundedNumber);  // 15750

 

 

3-3-2. 양의 실수 소수점 둘째 자리 반올림 처리

let number = 3.141592;
let roundedNumber = Math.round(number * 100) / 100;
			
console.log(roundedNumber);  // 3.14

 

3-3-3. 음의 실수 소수점 둘째 자리 반올림 처리

let number = -3.141592;
let roundedNumber = Math.round(number * 100) / 100;
			
console.log(roundedNumber);  // -3.14

 

4. Math.trunc() - 버림

  • 주어진 숫자의 소수점 이하를 버리고 정수 부분만 남깁니다. 소수점을 단순히 절단하는 방식으로, 양수와 음수 모두 소수점 이하를 버리고 정수 부분만 반환합니다.
  • 이 함수는 소수점을 버리는 방식이므로, 양수에서는 Math.floor()와 같은 결과를 주지만, 음수에서는 Math.ceil()과 같은 결과를 줍니다. 즉, 소수점 이하만 제거된다는 점에서 Math.floor()와 다릅니다.

 

4-1. 기본 문법

  • x: 처리할 숫자
Math.trunc(x)

 

 

4-2. 기본 예제

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

 

4-3. 활용 예제

4-3-1. 십의 자리 버림 처리

let number = 15754;
let roundedNumber = Math.trunc(number / 10) * 10;

console.log(roundedNumber);  // 15750

 

 

4-3-2. 양의 실수 소수점 둘째 자리 버림 처리

let number = 3.141592;
let truncatedNumber = Math.trunc(number * 100) / 100;

console.log(truncatedNumber);  // 3.14

 

4-3-3. 음의 실수 소수점 둘째 자리 버림 처리

let number = -3.141592;
let truncatedNumber = Math.trunc(number * 100) / 100;

console.log(truncatedNumber);  // -3.14

 


 

관련글 목록

[javascript] CORS 오류 해결

[javascript] ECMA 스크립트 문법

[javascript] settimeout() 함수

 

 

728x90