Code: Alles auswählen
n=12345678901234567
print n
print int(float(n))
n=12345678901234566 # am Ende: 66 statt 67
print n
print int(float(n))
n=1234567890123457 # am Ende: 57 statt 567
print n
print int(float(n))
Wieso wird bei der Umwandlung von einem 17stelligen Integer in eine float-Zahl (und anschließender Ausgebung wieder als Integer) die letzte Stelle um eins erhöht? Und zwar nur, wenn die letzte Stelle ungerade ist.12345678901234567
12345678901234568
12345678901234566
12345678901234566
1234567890123457
1234567890123457
Kann mir das jemand erklären?
Danke!
Grüße,
Markus