debugger::dump vrací jiné číslo

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Paradiso
Člen | 101
+
0
-

Nevěděl jsem, jak to přesně nazvat.
(Nette 2.0)
Ale věc se má takto:

Debugger::dump(round(222/21, 2)); //10.57000000000000028421709430404007434844970703125
var_dump(round(222/21, 2)); //float(10.57)

Chtěl bych se zeptat, čím je to způsobeno?

David Matějka
Moderator | 6445
+
0
-

to je zapricineno zpusobem ulozeni cisel s pohyblivou desetinnou carkou, viz treba warning na php.net

Jan Tvrdík
Nette guru | 2595
+
0
-

Kdepak, tohle je způsobeno BC breakem v samotném PHP. Řeší to aktuální verze Nette.