Frage

Wie kann ich einen Schwimmer analysieren aus einem Blatt als Text gescannt, mit Kommas?

txt = "1,903.44"
value = float(txt) # This fails due to ',' in string

UPDATE: Leider habe ich nicht klar war. Ich verwende jython 2.5, die nicht das Gebietsschema Modul hat.

War es hilfreich?

Lösung

txt = "1,903.44"
value = float(txt.replace(',', ''))

Wenn Sie die Lokalisierung benötigen, wird dies nicht wirklich funktionieren, aber es funktioniert der Trick, wenn Sie wissen, dass Kommas sind Ihre Separatoren.

Andere Tipps

Verwenden Sie locale.atof() nach locale.setlocale(locale.LC_ALL, '').

Sie können die Kommas Streifen:

txt = txt.replace(',', '')
value = float(txt)

Ich persönlich würde das Dezimalsystem Paket verwenden, wenn sie mit Geldwerten zu tun zu vermeiden gut dokumentierten Gefahren die auftreten, wenn Gleitpunkte mit.

from decimal import Decimal
txt = txt.replace (',', '')
value = Decimal(txt)

Wie schon in anderen Poster erwähnt, das funktioniert nur, wenn Ihr Gebietsschema ist bekannt, zu verwenden ‚‘ als Tausendertrennzeichen, aber sollen Sie in der richtigen Richtung gehen bekommen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top