본문 바로가기
JavaScript

[JS] 자바스크립트 소수점 내리기/버리기

by SeongwooLee 2024. 1. 8.

 

 

맘 다잡고 코딩 테스트 처음 시작한 날

 

두 수를 나누어 결과를 도출할 때 정수만을 나타내야 할 때가 있었다.

나는 Math.floor를 사용해서 정답을 도출하였지만, 다른 이의 문제풀이에서 Math.trunc()를 보았다.

 

처음보았기에 이리 남겨놓는다.

 

 

차이점

Math.floor() 소수점을 내린다.

Math.trunc() 소수점을 버린다.


 

▼ Math.floor() 를 사용한 예시

Math.floor(20.3) = 20
Math.floor(-20.3) = -21

 

▼ Math.trunc() 를 사용한 예시

Math.trunc(20.3) = 20
Math.trunc(-20.3) = -20

 

 

 

▼ Math 객체의 반올림 관련 함수

Math.round()  // 반올림
Math.ceil()   // 올림
Math.floor()  // 내림
Math.trunc()  // 버림

 

 


 

소수점 이하를 없애고 싶을때는 Math.trunc()를 사용하는 것이 좋다!

 


 

 

+2024.01.18 추가내용

-공부하다가 parseInt()함수의 사용을 보고 둘의 차이가 무엇인가에 찾아서 작성-

 

 parseInt()  와 Math.trunc()는 소수점 이하를 버리고 정수 부분만 반환 하는 비슷한 역할을 수행하지만...

두 함수의 차이점이 있다.

 

 

1. 데이터 타입:

 parseInt()  문자열 데이터를 정수로 변환할 때 사용 / 문자열 입력으로 사용

 Math.trunc()  문자열이 아닌 숫자형 데이터에 대해 작동하는 함수 / 숫자형 입력으로 사용

 

 

2. 소수점 이하 처리:

 parseInt()  문자열을 처음부터 분석하면 숫자를 만날때까지 문자열 부분을 정수로 변환. 변환하는 과정에서 소수점 이하를 무시하고, 첫 번째로 만나는 숫자를 반환

 Math.trunc()  주어진 숫자의 소수점 이하를 버리고 간단히 정수 부분만 반환

 

 

3. 코드 가독성:

 parseInt()  다양한 변환 요구사항을 처리할 수 있지만, 목적을 명확히 밝히지 않으면 코드의 가독성이 낮아질 수 있음

 Math.trunc()  목적이 명확하고 직관적이기 때문에 코드의 가독성을 높일 수 있음

 

 

 

결론

 parseInt() 문자열을 정수로 변환하는 다양한 상황에서 사용. 선택은 사용자의 목적과 상황에 따라 달라짐

 Math.trunc() 숫자 데이터에 대한 소수점 이하 버림 연산을 간편하게 처리할 때 유용