[Python-de] Rechenfehler int()

Fritz Cizmarov fritz at sol.at
Thu Mar 13 14:15:12 EST 2003


Am Thu, 13 Mar 2003 11:14:38 +0100
Schrieb Mike Mueller <mmueller at dgfz.de>:

> 
> >
> > >>> betrag = int(betrag*100)
> > >>> print betrag
> >
> >6534
> 
> 
> 
>  >>> betrag = 65.35*100
>  >>> betrag
> 6534.9999999999991
> 
> Das ist der Wert bei der Darstellung im Binaersystem.
> 
>  >>> int(betrag)
> 6534
> 
> int schneidet die Kommastellen einfach ab.
> 
> 
> 
> Das sollte normalerweise das erwartete Ergebnis liefern.
> 
>  >>> int(betrag+0.5)
> 6535
>  >>>
> 
> 
> Mike
> 

Hallo,

uups geht auch ned immer.

>>> betrag = -65.35*100
>>> betrag
-6534.9999999999991
>>> int(betrag+0.5)
-6534

>>> betrag = 65.35*100
>>> betrag
6534.9999999999991
>>> int(round(betrag))
6535
>>> betrag = -betrag
>>> betrag
6534.9999999999991
>>> int(round(betrag))
6535

kommt besser :)


Gruß

Fritz




More information about the Python-de mailing list