Website-Suche

Wie man einen String in einen Float in Python konvertiert


Einführung

In diesem Artikel werden wir die float()-Funktion von Python verwenden, um Zeichenketten in Floats zu konvertieren. Und wir werden auch die str()-Funktion von Python verwenden, um Floats in Zeichenketten zu konvertieren.

Es ist wichtig, die Datentypen korrekt zu konvertieren, bevor man sie für Berechnungen und Verkettungen verwendet, um Laufzeitfehler zu vermeiden.

Voraussetzungen

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

  • Vertrautheit mit der Installation von Python 3. Und Vertrautheit mit dem Programmieren in Python. Wie man in Python 3 programmiert oder VS Code für Python verwendet.

Dieses Tutorial wurde mit Python 3.9.6 getestet.

Verwendung der float()-Funktion

Wir können eine Zeichenkette in Python mit der float()-Funktion in eine Fließkommazahl umwandeln. Dies ist eine eingebaute Funktion, die verwendet wird, um ein Objekt in eine Fließkommazahl zu konvertieren. Intern ruft die float()-Funktion die angegebene Objektmethode __float__() auf.

Beispiel

Lassen Sie uns ein Beispiel für die Umwandlung eines Strings in einen Float in Python ansehen:

input_1 = '10.5674'

input_1 = float(input_1)

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

Ausgabe :

<class 'float'>
Float Value = 10.5674

Der Zeichenwert von '10.5674' wurde in einen Float-Wert von 10.5674 umgewandelt.

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

Wenn wir einen Fließkommawert vom Benutzereingang über das Terminal erhalten oder ihn aus einer Datei lesen, sind sie Zeichenfolgenobjekte. Wir müssen sie ausdrücklich in Fließkommazahlen umwandeln, damit wir die notwendigen 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 String-Formatierung mit dem f-Präfix nicht vertraut sind, lesen Sie bitte über f-Strings in Python.

Lass uns diesen Code ausführen und Fließkommawerte für input_1 und input_2 bereitstellen:

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 ist 12.69.

Idealerweise sollten wir einen try-except-Block verwenden, um Ausnahmen zu behandeln, falls die Eingabe des Benutzers ungültig ist.

Verwendung der str()-Funktion

Wir können auch eine Fließkommazahl in einen String umwandeln, indem wir die Funktion str() verwenden. Dies kann in Situationen erforderlich sein, in denen wir Fließkommawerte verketten möchten.

Beispiel

Schauen wir uns ein Beispiel an:

input_1 = 10.23
input_2 = 20.34
input_3 = 30.45

using f-string from Python 3.6+, change to format() for older versions
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)])}')

Lass uns diesen Code ausführen:

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 Verknüpfung von 10.23 und 20.34 erzeugt den String '10.2320.34'. Dieser Code erzeugt auch zwei Versionen von durch Kommas getrennten Werten (CSV).

Wenn wir im obigen Programm die Fließkommavariablen nicht in Strings umwandeln, wird die join()-Funktion eine Ausnahme auslösen. Außerdem können wir den +-Operator nicht verwenden, um zu verketten, da er die Fließkommazahlen addiert.

Schlussfolgerung

Sie können das vollständige Python-Skript und weitere Python-Beispiele in unserem GitHub-Repository einsehen.

Referenzen:

  • Die offizielle Dokumentation von float()