Javascript
JS 에서 소수점 반올림 처리하기
Yo soy
2023. 11. 20. 06:51
SQL 에서는 ROUND(소수값, 유지할 자릿수) 만으로 소숫점 몇 째자리까지 유지할 수 있다.
[ SQLITE 기준 ]
SELECT ROUND(12345.67890) AS ROUNDING;
-> 12345
SELECT ROUND(12345.67890, 2) AS SOSU;
-> 12345.68
하지만 자바스크립트에서는 ROUND 함수로 소수점 자리유지를 할 수 없다. 항상 반올림된 정수로 된 결과로 나온다.
Math.round(12345.67890)
-> 12346
Math.round(12345.67890, 2)
-> 12346
소수점 자리를 유지하려면 Math.round(소수값 * 10^N) / 10^N 으로 처리하면 된다.
소수점 둘째 자리이면 10의 제곱인 100 을 쓰면 된다.
Math.round(12345.67890 * 100) / 100
-> 12345.68
이렇게 쓰기도 한다.
(12345.67890 * (1 + Number.EPSILON)).toFixed(2);
-> 12345.68