본문 바로가기
dev/javascript

[javascript] 자바스크립트 반올림, 올림, 내림 (round, ceil, floor)

by 최연탄 2022. 6. 27.
728x90
반응형

javascript는 숫자에 대한 반올림, 올림, 내림 같은 연산을 할 수 있도록 round(), ceil(), floor() 메소드를 제공합니다. 이들은 모두 Math 객체의 정적 메소드입니다.

- Math.round() 반올림 메소드

round() 메소드는 ceil()과 floor()의 기능을 모두하는 메소드로 볼 수 있습니다. 이 메소드는 소숫점 숫자를 가장 가까운 정수로 반올림 하는 기능을 합니다.

let x = 4.7
console.log(Math.round(x))
// Output: 5

let y = 4.2 
console.log(Math.round(y))
// Output: 4

let z = 4.5
console.log(Math.round(z))
// Output: 5

console.log(Math.round(null))
// Output: 0

x.5 이상인 숫자는 올림을 하고 그보다 작은 숫자는 내림을 합니다.

- Math.ceil() 올림 메소드

이 올림 메소드의 이름은 ceiling의 축약으로서 숫자를 올림하는 기능이 있다는 것을 알 수 있습니다. 좀 더 정확히 말하면 소숫점 숫자보다 큰 정수 중 가장 작은 값을 반환합니다. 만약 숫자가 이미 정수라면 이 메소드는 다른 작업을 하지 않고 그 숫자를 다시 반환합니다.

let x = 4.7
console.log(Math.ceil(x))
// Output: 5

let y = -3.2
console.log(Math.ceil(y))
// Output: -3

let z = "something not a number"
console.log(Math.ceil(z))
// Output: NaN

console.log(Math.ceil(null))
// Output: 0

위에서 보다시피 ceil() 메소드는 5.1을 입력하면 6을 반환하듯 입력받은 숫자의 다음으로 큰 정수를 반환하도록 작동하므로 입력 값의 가장 가까운 정수를 얻고 싶다면 round() 메소드를 사용해야 합니다.

- Math.floor() 내림 메소드

ceil() 메소드와 비슷하게 floor() 메소드는 입력받은 숫자보다 작은 정수 중 가장 큰 값을 반환합니다.

let x = 4.7
console.log(Math.floor(x))
// Output: 4

let y = -3.2
console.log(Math.floor(y))
// Output: -4

let z = "something not a number"
console.log(Math.floor(z))
// Output: NaN

console.log(Math.floor(null))
// Output: 0

- 정리

  • Math.ceil() - 올림하는 메소드
  • Math.floor() - 내림하는 메소드
  • Math.round() - 반올림하는 메소드
  • 매개변수로 null을 전달하면 위 메소드는 모두 0을 리턴
  • 매개변수로 null이 아니고 숫자가 아닌 값을 전달하면 메소드는 NaN을 리턴

- 관련 글

자바스크립트 퍼센트, 백분율 구하는 방법

반응형

댓글