Wie kann ich einen String mit Punkt und Komma in einen Float in Python konvertieren?


Answers

... oder anstatt die Kommas als zu filternden Müll zu behandeln, könnten wir die gesamte Zeichenfolge als lokalisierte Formatierung des Floats behandeln und die Lokalisierungsdienste verwenden:

from locale import *
setlocale(LC_NUMERIC, '') # set to your default locale; for me this is
# 'English_Canada.1252'. Or you could explicitly specify a locale in which floats
# are formatted the way that you describe, if that's not how your locale works :)
atof('123,456') # 123456.0
# To demonstrate, let's explicitly try a locale in which the comma is a
# decimal point:
setlocale(LC_NUMERIC, 'French_Canada.1252')
atof('123,456') # 123.456
Question

Wie kann ich eine Zeichenfolge wie 123456.908 in Python in Float 123456.908 konvertieren?




Wenn Sie das Gebietsschema nicht kennen und alle Arten von Zahlen analysieren möchten, verwenden Sie diese parseNumber(text) Funktion parseNumber(text) . Es ist nicht perfekt, aber berücksichtigen Sie die meisten Fälle:

>>> parseNumber("a 125,00 €")
125
>>> parseNumber("100.000,000")
100000
>>> parseNumber("100 000,000")
100000
>>> parseNumber("100,000,000")
100000000
>>> parseNumber("100 000 000")
100000000
>>> parseNumber("100.001 001")
100.001
>>> parseNumber("$.3")
0.3
>>> parseNumber(".003")
0.003
>>> parseNumber(".003 55")
0.003
>>> parseNumber("3 005")
3005
>>> parseNumber("1.190,00 €")
1190
>>> parseNumber("1190,00 €")
1190
>>> parseNumber("1,190.00 €")
1190
>>> parseNumber("$1190.00")
1190
>>> parseNumber("$1 190.99")
1190.99
>>> parseNumber("1 000 000.3")
1000000.3
>>> parseNumber("1 0002,1.2")
10002.1
>>> parseNumber("")

>>> parseNumber(None)

>>> parseNumber(1)
1
>>> parseNumber(1.1)
1.1
>>> parseNumber("rrr1,.2o")
1
>>> parseNumber("rrr ,.o")

>>> parseNumber("rrr1rrr")
1



s =  "123,456.908"
print float(s.replace(',', ''))



Ersetzen Sie einfach , mit replace ().

f = float("123,456.908".replace(',','')) print(type(f)

type () zeigt Ihnen, dass es in einen Float umgewandelt wurde






Related