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 557
Pomógł: 6315
Dołączył: 27.12.2004




To jest standardowy problem z liczbami rzeczywistymi - przywyknij.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 10:21