>웹 프론트엔드 >JS 튜토리얼 >JavaScript 튜토리얼의 소수 계산 문제

JavaScript 튜토리얼의 소수 계산 문제

巴扎黑
巴扎黑원래의
2017-09-11 11:47:511889검색

첫 번째 사진:

무슨 일이에요?

이유: js는 십진수 계산에 이진수를 사용합니다.

먼저 십진수를 이진수로 변환하는 방법을 살펴보세요.

십진수의 정수 자리는 이진수의 정수이고, 십진수의 십진수입니다. 은 이진수의 십진수입니다

십진수 111.4(10)이 있으면 계산해 보겠습니다.

먼저 소수점 자리 0.4를 취하고 "2 곱하기" 방법을 수행합니다.

0.4*2= 0.8

0.4*2=0.8 결과의 정수 위치에 있는 숫자를 구함 예 0                                                                          ~                                                                                            | *2 = 1.2 테이크 1 |

0.2*2 = 0.4 테이크 0 |

이쪽으로 오세요

0.01100110... (루프 0110)

정수를 2로 나누는 방식은 아닙니다.

질문에서 2.6+2.6+2.6=7.800000000001입니다. JavaScript에서 소수점 연산을 계산할 때 소수점 이하 자릿수는 다음과 같이 변환됩니다. 해당 이진법에서는 일부 소수를 이진법으로 완전히 변환할 수 없는 경우가 있습니다. 첫 번째 오류가 발생합니다. 모든 소수를 이진수로 변환한 후 이진수 간의 연산을 수행하여 이진수 결과를 얻습니다. 그런 다음 이진 결과는 십진수로 변환되며 일반적으로 두 번째 오류가 발생합니다.

해결 방법: 유지할 소수점 이하 자릿수를 지정하세요(7.8).toFixed(2)=7.80;. 이 방법을 사용하면 정확성이 떨어질 수 있습니다. 온라인으로 추가하는 방법도 있습니다.

위 내용은 JavaScript 튜토리얼의 소수 계산 문제의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.