Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Pętla - dziwne zachowanie
Forum PHP.pl > Forum > Przedszkole
kiciafu
Witam serdecznie, niech będzie taki kod:

  1. <?php
  2. $a = 1;
  3. do {
  4. print "zmienna: ".$a."<br />\n";
  5. $a = $a + 0.01;
  6. } while ($a < 10);
  7. ?>


Taki kod działa, ale po iluś przebiegach zamiast wyświetlania np 5.40 skrypt generuje: zmienna: 5.3999999999999. Można problem "rozwiązać" zaokrąglając wynik ale dziwi mnie skąd takie coś mu się bierze i jak powinno zapisać się iterację i przyrost o część ułamkową a nie całkowitą. Z ciekawości napisałem to samo w Javie i sytuacja jest analogiczna, tylko Python generuje wyniki przewidywalnie nie rozszerzając . Ktoś się z tym spotkał i wie o co chodzi?

Pozdrawiam
nospor
To jest standardowy problem z liczbami rzeczywistymi - przywyknij.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.