-
JavaScript 소수점 계산 오류와 해결Javascript 2022. 2. 23. 10:10
컴퓨터는 기본적으로 0과 1만 사용하는 2진법을 사용한다. 보통 우리가 계산을 할 떄는 10진법을 사용하는데, 이 과정에서 10진법을 2진법으로 변환을 시켜줘야 한다. 하지만 이 과정에서 소수 일부중에는 무한소수가 된다. 그래서 컴퓨터의 메모리 한계가 있기 때문에 무한 소수를 다 담지 못하고 중간에 잘려서 유한 소수로 저장을한다.
이러한 아래와 같은 메서드로 문제를 해결을 할 수 있다.
toFixed()
- 입력받은 숫자를 배개변수만큼 반올림하여 String으로 반환해주는 함수이다.
- toFixed()는 0부터 20까지 매개변수로 입력할 수 있고, 매개변수 숫자에 따라서 반올림을 해준다.
- Default값은 0이기 떄문에 매개변수를 담지 않으면 소수를 정수로 나타낸다.
- 하지만 toFixed()는 String으로 반환을 하기 때문에, Number의 타입을 사용하고 실을 경우에는 Number()메서드를 사용하면 된다.
Math.round()
- Math 객체에 있는 Math.floor, Math.ceil, Math.trunc, Math.round 등을 통해서 소수 연산을 다룰 수 있다.
- Math.round()는 반올림을 해주며, 매개변수로 입력한 값을 반올림한 후에 가장 가까운 정수 값으로 반환한다.
- toFixed()의 매개변수 0과 같이 정수값으로 반환을 해준다.
'Javascript' 카테고리의 다른 글
[JavaScript] Math 함수 모음 (0) 2022.03.14 [JavaScript] split과 parseInt (0) 2022.03.11 [JavaScript] var를 사용하지 않는 이유 (0) 2022.01.07 JavaScript 구조 분해 할당 (0) 2022.01.05 JavaScript Class 사용하기 (0) 2022.01.03