Wie man in Python einen String in eine Gleitkommazahl umwandelt

Einführung

In diesem Artikel verwenden wir die Funktion float() von Python, um Zeichenfolgen in Gleitkommazahlen umzuwandeln. Außerdem werden wir die Funktion str() von Python verwenden, um Gleitkommazahlen in Zeichenfolgen umzuwandeln.

Es ist wichtig, die Datentypen ordnungsgemäß umzuwandeln, bevor sie für Berechnungen und Verkettungen verwendet werden, um Laufzeitfehler zu vermeiden.

Voraussetzungen

Um dieses Tutorial abzuschließen, benötigen Sie:

Dieses Tutorial wurde mit Python 3.9.6 getestet.

Verwenden der Funktion float()

Wir können einen String in Python in eine Gleitkommazahl mit der Funktion float() umwandeln. Dies ist eine integrierte Funktion, die verwendet wird, um ein Objekt in eine Gleitkommazahl umzuwandeln. Intern ruft die Funktion float() die __float__()-Funktion des angegebenen Objekts auf.

Beispiel

Werfen wir einen Blick auf ein Beispiel zur Umwandlung eines Strings in eine Gleitkommazahl in Python:

input_1 = '10.5674'

input_1 = float(input_1)

print(type(input_1))
print('Float Value =', input_1)

Output:

<class 'float'>
Float Value = 10.5674

Der Zeichenkettenwert von '10.5674' wurde in einen Gleitkommawert von 10.5674 umgewandelt.

Warum müssen wir einen String in eine Gleitkommazahl umwandeln?

Wenn wir einen Gleitkommawert über die Benutzereingabe über die Konsole erhalten oder ihn aus einer Datei lesen, handelt es sich um Zeichenkettenobjekte. Wir müssen sie explizit in Gleitkommazahlen umwandeln, damit wir notwendige Operationen wie Addition, Multiplikation usw. durchführen können.

input_1 = input('Please enter first floating point value:\n')
input_1 = float(input_1)

input_2 = input('Please enter second floating point value:\n')
input_2 = float(input_2)

print(f'Sum of {input_1} and {input_2} is {input_1+input_2}')

Hinweis: Wenn Sie mit der Formatierung von Zeichenketten mit dem f-Präfix nicht vertraut sind, lesen Sie bitte f-Strings in Python.

Führen wir diesen Code aus und geben Gleitkommawerte für input_1 und input_2 an:

Please enter first floating point value:
10.234
Please enter second floating point value:
2.456
Sum of 10.234 and 2.456 is 12.69

Die resultierende Summe von 10,234 und 2,456 beträgt 12,69.

Idealerweise sollten wir einen try-except-Block verwenden, um Ausnahmen abzufangen, falls ungültige Eingaben vom Benutzer vorliegen.

Verwendung der Funktion str()

Wir können auch eine Gleitkommazahl in einen String mit der Funktion str() umwandeln. Dies kann in Situationen erforderlich sein, in denen wir Gleitkommawerte konkatenieren möchten.

Beispiel

Lassen Sie uns ein Beispiel betrachten:

input_1 = 10.23
input_2 = 20.34
input_3 = 30.45

# Verwendung von f-Strings ab Python 3.6+, für ältere Versionen zu format() ändern
print(f'Concatenation of {input_1} and {input_2} is {str(input_1) + str(input_2)}')
print(f'CSV from {input_1}, {input_2} and {input_3}:\n{str(input_1)},{str(input_2)},{str(input_3)}')
print(f'CSV from {input_1}, {input_2} and {input_3}:\n{", ".join([str(input_1),str(input_2),str(input_3)])}')

Führen wir diesen Code aus:

Concatenation of 10.23 and 20.34 is 10.2320.34
CSV from 10.23, 20.34 and 30.45:
10.23,20.34,30.45
CSV from 10.23, 20.34 and 30.45:
10.23, 20.34, 30.45

Die Konkatenation von 10,23 und 20,34 ergibt den String '10.2320,34'. Dieser Code erzeugt auch zwei Versionen von kommagetrennten Werten (CSV).

Wenn wir in obigem Programm die Gleitkommazahl nicht in einen String umwandeln, wirft die join()-Funktion eine Ausnahme. Außerdem können wir den +-Operator nicht zum Konkatenieren verwenden, da er die Fließkommazahlen addiert.

Schlussfolgerung

Sie können das komplette Python-Skript und weitere Python-Beispiele aus unserem GitHub-Repository überprüfen.

Referenzen:

Source:
https://www.digitalocean.com/community/tutorials/python-convert-string-to-float