맘 다잡고 코딩 테스트 처음 시작한 날
두 수를 나누어 결과를 도출할 때 정수만을 나타내야 할 때가 있었다.
나는 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() 숫자 데이터에 대한 소수점 이하 버림 연산을 간편하게 처리할 때 유용
'JavaScript' 카테고리의 다른 글
[JS] 자료구조 中 시간복잡도 | 빅오 표기법(Big-O Notation) 및 측정방법 (0) | 2024.05.08 |
---|---|
[JS] 자바스크립트 reduce(리듀스) 이해하기 (0) | 2024.01.28 |
[JS] forEach 함수 | 개념이해 및 사용예제 (0) | 2023.10.17 |
[JS] split() 함수 | 문자열을 구분자를 이용해 나누기 (0) | 2023.10.14 |