ďťż
Podstrony
|
telcocafewitam.mam taki oto kod: <?PHP $a=floor(10*(0.7+0.1)); echo($a); ?> może mi ktoś wyjaśnić dla czego wyświetla się liczba 7, a nie 8? a co dziwniejsze, kiedy wstawię działanie 0.7+0.2 wyświetla się 9 Czy to jakiś błąd w PHP? Z góry dziękuje za odpowiedź Pozdrawiam Jest oczywiste, że nawet proste ułamki dziesiętne, takie jak 0.1 lub 0.7, nie mogą zostać skonwertowane na ich dwójkowe odpowiedniki bez niewielkiej straty dokładności. Może to powodować pewne problemy: na przykład wyrażenie floor((0.1+0.7)*10) zwykle ma wartość 7, zamiast oczekiwanej 8, gdyż wewnętrzna reprezentacja tego wartości to liczba 7.9999999999.... http://pl2.php.net/float float floor ( float $liczba ) Zwraca najbliższą liczbę całkowitą, mniejszą lub równą podanemu arumentowi liczba ~7.9999999!=8 Użytkownik polasek edytował ten post 06 luty 2008, 08:27 |
|||
Sitedesign by AltusUmbrae. |