2011-12-09 4 views
1

가능한 중복 :
Is JavaScript's Math broken?자바 스크립트 라운드 문제

나는 자바 스크립트 몇 가지 문제를했습니다.

내가 이렇게 할 경우 :

경고 (6.000 * 1.050);

나는 6.3 기대,하지만 난 6.30000001가

아무도 나를 도울 수

거야? 왜 이런 일이 일어 났는지 설명하십시오.

+1

의 방법 toFixed(). 자세한 내용은 [모든 컴퓨터 과학자가 부동 소수점 연산에 대해 알아야 할 내용] (http://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html)을 참조하십시오. –

답변

1

여기서 할 수있는 간단한 사용 단지 아래로 표현되고 자바 스크립트에 한정되지 않고, 어떻게 부동 소수점 숫자의 자바 스크립트

alert(parseFloat(6.000 * 1.050).toFixed(1)); 
+0

thx이 작품은 저에게 잘 어울립니다! – Ruutert

0

표준 문제; 십진법은 일반적으로 무한 정밀도로 저장 될 수 없기 때문에 대부분의 프로그래밍 언어는 근사화되고 둥근 버전을 나타내는 데이터 유형을가집니다. 문제는 곱셈 또는 뺄셈이 부정확성을 나타낼 수 있다는 것입니다.

결국, 아마 라운드해야 할 것입니다.