lte-earfcn-calculator를 만들다가 아래 이슈가 발생했다.

이슈

LTE.earfcnToFreq(3802);
// 1845.1000000000001

원인

요약 : 부동소수점 연산으로 인해서 소수점 연산 시 오차가 생길 수 있음. toFixed()함수를 사용해서 해결.

아래 예제를 실행해보면 0.3이 기대되지만 다른 값이 출력된다.

예제

0.1 + 0.2
// 0.30000000000000004

자바스크립트는 부동소수점 방식(floating point)으로 계산을 하며 IEEE Standard 754규격을 따릅니다. 그리고 실수의 변환을 위해 53bit의 연산을 합니다. 정수인 경우에는 해당 기억공간의 범위안에서 정확한 결과를 나타내는데,, 실수인 경우에는 기억공간의 범위를 벗어나는 결과가 나타나면 나머지수를 버립니다. 출처 : 네이버-지식인

해결

LTE.earfcnToFreq(3802).toFixed(1);
// 1845.1

참고

immer는 객체 비구조화 문법(Object Destructuring)을 사용하면 동작하지 않는다.

## [immer](https://github.com/immerjs/immer)는 객체 비구조화 문법(Object Destructuring)을 사용하면 동작하지 않는다.아래는 redux에서 reducer쪽 immutable state를 immer...… Continue reading

2019 카카오 FE(Front-end) Meetup

Published on September 16, 2019

2019 카카오 개발자 컨퍼런스

Published on September 11, 2019