webentwicklung-frage-antwort-db.com.de

Python: Konvertiert einen String in eine Dezimalzahl

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?

21
Sankar A

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]
52
Mark Byers

Sie müssen strip() wegen der zusätzlichen Bits in den Zeichenfolgen verwenden.

A2 = [float(x.strip('"')) for x in A1]
3
Jake

verwenden Sie die eingebaute Funktion float () für ein Listenverständnis.

A2 = [float(v.replace('"','').strip()) for v in A1]

3
farzad

Wenn Sie den Preis (in Zeichenfolge) in einen Dezimalpreis konvertieren, dann ...

from decimal import Decimal

price = "14000,45"
price_in_decimal = Decimal(price.replace(',',''))
3
Nids Barthwal

A2 = [float(x.strip('"')) for x in A1] funktioniert, @Jake, aber es gibt unnötige Nullen

1
tekknolagi