Python: String in Float konvertieren

Durch Python-String-Float-Konvertierungen können Fehler beim Versuch, nichtnumerische Zeichenketten in arithmetische Operationen einzubeziehen, vermieden werden.

Das sind die Voraussetzungen

Um Python Strings in Floats umzuwandeln, muss der String eine gültige numerische Darstellung einer Gleitkommazahl haben. Das bedeutet, dass er Zahlen im Dezimalformat enthalten kann, einschließlich Dezimalpunkten oder wissenschaftlicher Notation (zum Beispiel: "3.14" oder "2.7e-3"). Der String sollte außerdem frei von zusätzlichen Zeichen, Leerzeichen oder ungültigen Zeichen sein, die keine numerischen Werte repräsentieren. Andernfalls kann die Konvertierung fehlschlagen.

Die Python-String-Float-Konvertierung ist eine grundlegende Funktion und in allen Versionen von Python verfügbar. Allerdings können sich in verschiedenen Python-Versionen Nuancen bei der Nutzung bestimmter Methoden oder Funktionen ergeben. Es ist wichtig, dass Sie mögliche Fehler bei der Umwandlung berücksichtigen. Das umfasst die Eingabe von Strings, die keine gültige Zahl abbilden. Spezielle Werte wie NaN (Not a Number) oder Infinity können nicht in Floats konvertiert werden. Der Umgang mit Konvertierungen erfordert von Entwicklerinnen und Entwicklern daher eine angemessene Fehlerbehandlung. Dazu gehört beispielsweise die Verwendung von Try-Except-Blöcken, um Ausnahmen abzufangen und angemessen darauf zu reagieren.

Python Strings mit float() konvertieren

Die float()-Funktion ist eine eingebaute Methode in Python, die einen String in eine Gleitkommazahl (Float) umwandelt. Häufig wird die float()-Funktion eingesetzt, um Benutzereingaben von Strings in numerischen Formaten abzubilden, um damit Rechnungen durchzuführen oder Operationen auf numerischen Werten auszuführen. In Programmen, die mit unterschiedlichen Datentypen arbeiten, wird float() genutzt, um die Konsistenz von Daten zu gewährleisten, indem Werte in das gewünschte numerische Format konvertiert werden.

Zur Python-String-Float-Konvertierung übergeben Sie der float()-Funktion einen gültigen String als Argument:

str1 = "3.1416"
float_value = float(str1)
print(float_value) # Output: 3.1416
python

Andere numerische Typen wie int oder complex dürfen Sie ebenfalls in eine Gleitkommazahl umwandeln, indem sie der float()-Funktion übermittelt werden.

Mit einem Try-Except-Block können Sie ungültige Benutzereingaben bei der Konvertierung eines Strings in einen Float abfangen:

while True:
    user_input = input("Enter a number: ")
    try:
        float_value = float(user_input)
        print("Entered number as float:", float_value)
        break # Exit the loop if the conversion was successful
    except ValueError:
        print("Invalid input! Please enter a numeric value.")
        # The loop continues to prompt for valid input
python

Der obige Code ist eine Schleife, die Nutzende dazu auffordert, eine Zahl einzugeben. Danach wird versucht, den eingegebenen Wert in eine Gleitkommazahl umzuwandeln. Innerhalb des Try-Blocks soll mit float(user_input) der eingegebene String in einen Float konvertiert werden. Wenn die Umwandlung erfolgreich ist, speichern wir die Zahl in float_value und geben sie aus. Danach benutzen wir die break-Anweisung, um die Schleife zu beenden und das Programm fortzusetzen.

Wenn bei der Python-String-Float-Konvertierung ein ValueError auftritt, wird der Code im Except-Block ausgeführt. Dies kann passieren, wenn Nutzende etwas eingeben, das sich nicht in einen Float umwandeln lässt, zum Beispiel einen Buchstaben. Dann wird mitgeteilt, dass der Input ungültig ist, und die Schleife wird fortgesetzt, um erneut eine gültige Eingabe zu erbitten.

Python String in Float mit Numpy umwandeln

Um einen Python-String in einen Float mit NumPy zu konvertieren, können Sie die numpy.float64()-Funktion verwenden. Sie erhalten damit aus einem String einen 64-Bit-Gleitkommawert.

import numpy as np
string_value = "3.1416"
float_value = np.float64(string_value)
print(float_value) # Output: 3.1416
python

Zunächst müssen Sie NumPy in Ihrem Skript importieren, falls es noch nicht installiert ist. Mit NumPy können Sie dann die Funktion numpy.float64() auf die Zeichenkette string_value anwenden, um den String in einen 64-Bit-Gleitkommawert umzuwandeln.

Konvertierung mit str()

Umgekehrt dient die str()-Funktion in Python dazu, Werte in einen String zu konvertieren. Sie kann auch mit Gleitkommazahlen arbeiten, um diese in eine Zeichenkette umzuwandeln.

float_number = 3.1416
string_number = str(float_number)
print(string_number) # Output: "3.1416"
python

Im oberen Beispiel wird der Float-Wert 3.1416 mit der str()-Funktion in dem String "3.1416" abgebildet.

str() ist auch nützlich, um mehrere Float-Werte mit f-strings, einem Python-String-Format, zu konkatenieren:

float_value1 = 3.1416
float_value2 = 2.7182
float_value3 = 1.6180
string_concatenation = f"Concatenation of: {str(float_value1)}, {str(float_value2)}, and {str(float_value3)}"
print(string_concatenation) # Concatenation of: 3.1416, 2.7182, and 1.618
python

Sie sollten beachten, dass bei der Konvertierung von Floats in Strings durch str() der resultierende String den Wert als Text darstellt und nicht mehr direkt für numerische Berechnungen oder mathematische Operationen verwendet werden kann, es sei denn, er wird zuerst wieder in eine numerische Form (wie einen Float) umgewandelt.

Tipp

In unserem Ratgeber finden Sie außerdem Anleitungen zu Konvertierungen von Python String to List und Python String to Datetime.

Günstige Webhosting-Pakete von IONOS!

Vertrauen Sie auf flexibel skalierbares und zuverlässiges Webhosting inklusive persönlichem Berater mit IONOS!

Kostenlose Domain
SSL Zertifikat
DDoS-Schutz