Javascript toFixed가 정확하게 반올림되지 않음
Javascript에서 toFixed() 메소드는 숫자를 문자열로 형식화하는 데 사용됩니다. 그러나 사용자는 이 방법을 사용할 때 특히 숫자를 올바르게 반올림하지 못하는 경우 예상치 못한 반올림 동작을 경험했습니다.
이 반올림 불일치의 원인은 Javascript에서 사용하는 기본 부동 소수점 산술에 있습니다. 부동 소수점 숫자는 특히 매우 작거나 매우 큰 값으로 작업할 때 정밀도 오류가 발생할 수 있습니다.
이 문제를 해결하려면 다음 해결 방법을 고려하세요.
제공된 솔루션에서는 보다 정확한 반올림을 보장하는 원래 toFixed() 메서드의 수정된 버전인 toFixed10() 메서드를 사용할 것을 제안합니다. 이 방법은 숫자를 소수점 이하 10자리로 반올림하는데, 이는 대부분의 실제 애플리케이션에 충분히 정확합니다.
이 솔루션에는 Math.round() 및 Math.pow를 사용하여 유사한 반올림을 수행하는 사용자 정의 toFixed() 함수도 포함되어 있습니다. () 방법. 이 기능을 사용하면 원하는 정밀도를 지정하여 브라우저 전반에 걸쳐 일관된 결과를 보장할 수 있습니다.
구현
수정된 toFixed() 메소드 또는 사용자 정의 함수를 Javascript에 통합하여 코드를 사용하면 반올림 문제를 효과적으로 해결하고 정확한 수치 계산을 얻을 수 있습니다.
function toFixed( num, precision ) { return (+(Math.round(+(num + 'e' + precision)) + 'e' + -precision)).toFixed(precision); } // Usage: var number = 859.385; console.log(toFixed(number, 2)); // Output: "859.39"
결론
Javascript의 toFixed() 메서드의 한계를 이해하고 앞서 언급한 해결 방법을 통해 프로그래머는 반올림 부정확성을 극복하고 애플리케이션에서 신뢰할 수 있는 수치 계산을 보장할 수 있습니다.
위 내용은 Javascript의 toFixed() 메소드가 정확하게 반올림되지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!