Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Pętla - dziwne zachowanie
kiciafu
post
Post #1





Grupa: Zarejestrowani
Postów: 52
Pomógł: 0
Dołączył: 11.05.2010

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




To jest standardowy problem z liczbami rzeczywistymi - przywyknij.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 25.09.2025 - 00:38