JS 부동소수점오류 해결

예루루·2023년 8월 15일
0

부동소수점 오류란?

상식적으로 a와 b 를 더하면 0.3이라는 값이 나와야 하지만
console에는 0.3으로 나오지 않는다 이러한 현상을 부동소수점 오류 라고 한다!

부동소수점오류가 생기는 이유?

컴퓨터는 기본적으로 0과 1의 2진수를 사용하여 동작하게 되는데
숫자를 표현하려면 기본적으로 10진수로 표현하게 된다!

그랬을때 컴퓨터가 10진수를 2진수로 표현을 해야되기 때문에 간혹 무한소수라는 개념이 발생 하게 되고

이것을 무한한 것이 아니고 유한하게 표현 하기 위해서 세부적인 값에 초과나 혹은 손실로 계산한다.

toFixed

const a = 0.1 
const b = 0.2

console.log((a + b).toFixed(1))

toFixed 를 이용하면 0.3으로 나오게 되지만, 숫자데이터가 아닌 문자데이터로 변환이 된다.

📌최종해결 방법 !_!

console.log(Number((a + b).toFixed(1)))

문자데이터를 숫자데이터로 변환해주는 Number () 함수 안에 넣어준다!_!

profile
모든 걸 이곳에 두고 왔다. - 예루루 D. 로져

0개의 댓글