2

이유는 무엇입니까빼면 서로 가까이 번호

<?php echo 194.95-194.94; ?>

출력

0.0099999999999909 

내가 무슨 말이냐? 이것은 PHP 5.2입니다.

+0

[PHP 부동 소수점의 정확도는 계산할 수 있습니다] (http://stackoverflow.com/questions/3957705/the-accuracy-of-php-float-calculate) – hakre

답변

10

문제는 0.01을 부동 소수점으로 정확하게 나타낼 수 없다는 것입니다.

이것이 왜, 무엇을해야하는지에 대한 훌륭한 설명을 보려면 what every programmer should know about floating point을보십시오.

+0

멋진 링크, 감사합니다. –

3

마크의 대답은 괜찮지 만, 왜 당신이 대답했는지 궁금해 할 것입니다. 예를 들어,

<?php echo 0.01; ?> 

PHP는 0.01을 행복하게 인쇄합니다. 귀하의 경우 194.95과에서

194.94 IEEE 754에 수용하고, 그 차이가 너무 멀리 떨어져 기본 0.01에서 제대로 "렌더링 할 수 있었다 될 수 있기 때문에 둘은-근접 A-바이너리 형태로 저장했다 ".

http://babbage.cs.qc.edu/IEEE-754/Decimal.html과 같은 온라인 계산기에서 예제를 시험해보십시오. 재미있을거야.

관련 문제