Front/JS & jQuery
[js] JavaScript에서 정수끼리의 곱셈 처리 방법
오선지♬
2024. 12. 20. 20:34
728x90
반응형
JavaScript에서 정수끼리의 곱셈이라도 부동소수점 연산 특성상
소수점 계산이 발생할 수 있습니다.
정확한 정수 연산이 필요하다면 BigInt를 사용하거나
결과를 명시적으로 처리하는 방법을 고려하세요.
- 결과를 정수로 강제 변환
- 곱셈 결과가 미세하게 어긋날 경우 Math.round, Math.floor, Math.ceil 등을 사용해 정수로 처리할 수 있습니다.
-
const result = 0.1 * 0.2; console.log(Math.round(result)); // 0
- 정수 범위를 유지
- 정수 계산에만 집중한다면, 값을 BigInt로 처리할 수 있습니다.
-
const bigIntResult = BigInt(999999999) * BigInt(999999999); console.log(bigIntResult); // 999999998000000001n
- 정밀도 제한
- toFixed 또는 toPrecision을 사용해 소수점을 제한하여 표시합니다.
-
const precise = (3 * 0.1).toFixed(2); console.log(precise); // "0.30"
- 라이브러리 사용
- Decimal.js, Big.js 같은 라이브러리를 사용해 정확한 부동소수점 계산을 수행합니다.
-
const Decimal = require('decimal.js'); const result = new Decimal(0.1).times(0.2); console.log(result.toString()); // "0.02"
728x90
반응형