Thread Perl Bug bei int?
(44 answers)
Opened by Rolf_PlusW at 2013-03-01 11:29
Sorry, was meinst du mit das mit "das gibt nur mit sprintf korrekt 1"?
Code: (dl
)
1 $ perl -E'say sprintf("%.13f",((1 - 0.9999) * 10000))' Du hast hier also immer noch 12 Dezimalstellen Genauigkeit, nicht 4. Mein Standpunkt ist einfach: * Bei doubles nie direkt mit == vergleichen, sondern immer differenz < epsilon abfragen * Wenn man was genaueres will, dann muss man eben eine Bibliothek nehmen, die exakt rechnet. Außerdem wichtig zu wissen: es gibt auch Komma-Zahlen, die exakt dargestellt werden können. Zum Beispiel: Code: (dl
)
1 $ perl -E'say sprintf("%.18f",0.125)' Andere dagegen nicht: |