Python-float - str - float-Verrücktheit

>>> float(str(0.65000000000000002))

0.65000000000000002

>>> float(str(0.47000000000000003))

0.46999999999999997     ???

Was ist hier Los?
Wie kann ich umwandeln 0.47000000000000003 string-und die sich ergebenden Wert zurück zu schwimmen?

Ich bin mit Python 2.5.4 auf Windows.

  • Hinzugefügt ieee-754-tag
  • RC: ich denke, dass viele, viele Menschen (ja, die Programmierer auch) nicht eevn wissen, dass IEEE 754 definiert floating-point-zahlen (nicht jeder liest-Sprache-Spezifikationen :-)). Also ich würde eigentlich denken, dass die "floating-point" - tag wäre eine bessere Wahl, es sei denn, es sind bestimmte Fragen, die über den standard selbst.
  • sicherlich diejenigen, die sich Fragen dieser Art von Fragen nicht wissen, was ieee-754 ist...
  • war nicht bewusst, die floating-point-tag, aber sicher ist es besser als der name der Spezifikation.
InformationsquelleAutor Sharun | 2009-11-22
Schreibe einen Kommentar