Ich habe eine python Liste mit Strings in diesem Format:
A1 = [' "29.0" ',' "65.2" ',' "75.2" ']
Wie konvertiere ich diese Zeichenfolgen in Dezimalzahlen, um arithmetische Operationen für die Listenelemente auszuführen?
Wenn Sie das Ergebnis als nächste binäre Gleitkommazahl verwenden möchten, verwenden Sie float
:
result = [float(x.strip(' "')) for x in A1]
Wenn das Ergebnis genau gespeichert werden soll, verwenden Sie Decimal
anstelle von float
:
from decimal import Decimal
result = [Decimal(x.strip(' "')) for x in A1]
Sie müssen strip()
wegen der zusätzlichen Bits in den Zeichenfolgen verwenden.
A2 = [float(x.strip('"')) for x in A1]
verwenden Sie die eingebaute Funktion float () für ein Listenverständnis.
A2 = [float(v.replace('"','').strip()) for v in A1]
Wenn Sie den Preis (in Zeichenfolge) in einen Dezimalpreis konvertieren, dann ...
from decimal import Decimal
price = "14000,45"
price_in_decimal = Decimal(price.replace(',',''))
A2 = [float(x.strip('"')) for x in A1]
funktioniert, @Jake, aber es gibt unnötige Nullen