Aus der Dokumentation auf int
:
int(x=0) -> int or long
int(x, base=10) -> int or long
Wenn x keine Zahl oder wenn Basis gegeben ist, dann x muss eine Zeichenfolge oder Unicode sein Objekt, das ein Integer-Literal in der angegebenen Basis darstellt.
So ist '0.0'
eine ungültige Ganzzahlliteral für Basis 10
Sie benötigen:
>>> int(float('0.0'))
0
Hilfe auf int
:
>>> print int.__doc__
int(x=0) -> int or long
int(x, base=10) -> int or long
Convert a number or string to an integer, or return 0 if no arguments
are given. If x is floating point, the conversion truncates towards zero.
If x is outside the integer range, the function returns a long instead.
If x is not a number or if base is given, then x must be a string or
Unicode object representing an integer literal in the given base. The
literal can be preceded by '+' or '-' and be surrounded by whitespace.
The base defaults to 10. Valid bases are 0 and 2-36. Base 0 means to
interpret the base from the string as an integer literal.
>>> int('0b100', base=0)
4