Round, seltsames Verhalten
Verfasst: Donnerstag 16. November 2017, 15:28
Hallo Kollegen,
Folgendes treibt mich seit Stunden um
es sollte IMHO 731,93 erscheinen.
Ich könnte natürlich folgendes machen
Aber das dünkt mir etwas COBOL mäßig an, und ich bin mir gar nicht sicher ob das betriebssicher funktioniert.
Hat jemand eine Idee, könnte es an der "ungenauen" Zahlendarstellung bei float liegen?
Noch ein paar Versuche ( dabei funktioniert es)
Lg
\^/ili
Zusatz:
auf einem Linuxrechner passiert das gleiche
Folgendes treibt mich seit Stunden um
Code: Alles auswählen
C:\Users\nagy>python --version
Python 2.7.10
C:\Users\nagy>python -c "print round(731.925,2)"
731.92
Ich könnte natürlich folgendes machen
Code: Alles auswählen
C:\Users\nagy>python -c "x=731.925;print round((x*100+.5)/100,2)"
731.93
Hat jemand eine Idee, könnte es an der "ungenauen" Zahlendarstellung bei float liegen?
Noch ein paar Versuche ( dabei funktioniert es)
Code: Alles auswählen
C:\Users\nagy>python -c "print round(.5)"
1.0
C:\Users\nagy>python -c "print round(.05,1)"
0.1
C:\Users\nagy>python -c "print round(.005,2)"
0.01
\^/ili
Zusatz:
auf einem Linuxrechner passiert das gleiche
Code: Alles auswählen
wnagy@avalubu:~$ python -c "print round(731.925,2)"
731.92