Durch Python-String-Float-Kon­ver­tie­run­gen können Fehler beim Versuch, nicht­nu­me­ri­sche Zei­chen­ket­ten in arith­me­ti­sche Ope­ra­tio­nen ein­zu­be­zie­hen, vermieden werden.

Das sind die Vor­aus­set­zun­gen

Um Python Strings in Floats um­zu­wan­deln, muss der String eine gültige nu­me­ri­sche Dar­stel­lung einer Gleit­kom­ma­zahl haben. Das bedeutet, dass er Zahlen im De­zi­mal­for­mat enthalten kann, ein­schließ­lich De­zi­mal­punk­ten oder wis­sen­schaft­li­cher Notation (zum Beispiel: "3.14" oder "2.7e-3"). Der String sollte außerdem frei von zu­sätz­li­chen Zeichen, Leer­zei­chen oder un­gül­ti­gen Zeichen sein, die keine nu­me­ri­schen Werte re­prä­sen­tie­ren. An­dern­falls kann die Kon­ver­tie­rung fehl­schla­gen.

Die Python-String-Float-Kon­ver­tie­rung ist eine grund­le­gen­de Funktion und in allen Versionen von Python verfügbar. Al­ler­dings können sich in ver­schie­de­nen Python-Versionen Nuancen bei der Nutzung be­stimm­ter Methoden oder Funk­tio­nen ergeben. Es ist wichtig, dass Sie mögliche Fehler bei der Um­wand­lung be­rück­sich­ti­gen. 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 kon­ver­tiert werden. Der Umgang mit Kon­ver­tie­run­gen erfordert von Ent­wick­le­rin­nen und Ent­wick­lern daher eine an­ge­mes­se­ne Feh­ler­be­hand­lung. Dazu gehört bei­spiels­wei­se die Ver­wen­dung von Try-Except-Blöcken, um Ausnahmen ab­zu­fan­gen und an­ge­mes­sen darauf zu reagieren.

Python Strings mit float() kon­ver­tie­ren

Die float()-Funktion ist eine ein­ge­bau­te Methode in Python, die einen String in eine Gleit­kom­ma­zahl (Float) umwandelt. Häufig wird die float()-Funktion ein­ge­setzt, um Be­nut­zer­ein­ga­ben von Strings in nu­me­ri­schen Formaten ab­zu­bil­den, um damit Rech­nun­gen durch­zu­füh­ren oder Ope­ra­tio­nen auf nu­me­ri­schen Werten aus­zu­füh­ren. In Pro­gram­men, die mit un­ter­schied­li­chen Da­ten­ty­pen arbeiten, wird float() genutzt, um die Kon­sis­tenz von Daten zu ge­währ­leis­ten, indem Werte in das ge­wünsch­te nu­me­ri­sche Format kon­ver­tiert werden.

Zur Python-String-Float-Kon­ver­tie­rung ü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 nu­me­ri­sche Typen wie int oder complex dürfen Sie ebenfalls in eine Gleit­kom­ma­zahl umwandeln, indem sie der float()-Funktion über­mit­telt werden.

Mit einem Try-Except-Block können Sie ungültige Be­nut­zer­ein­ga­ben bei der Kon­ver­tie­rung 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 auf­for­dert, eine Zahl ein­zu­ge­ben. Danach wird versucht, den ein­ge­ge­be­nen Wert in eine Gleit­kom­ma­zahl um­zu­wan­deln. Innerhalb des Try-Blocks soll mit float(user_input) der ein­ge­ge­be­ne String in einen Float kon­ver­tiert werden. Wenn die Um­wand­lung er­folg­reich 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 fort­zu­set­zen.

Wenn bei der Python-String-Float-Kon­ver­tie­rung ein Va­lue­Er­ror auftritt, wird der Code im Except-Block aus­ge­führt. Dies kann passieren, wenn Nutzende etwas eingeben, das sich nicht in einen Float umwandeln lässt, zum Beispiel einen Buch­sta­ben. Dann wird mit­ge­teilt, dass der Input ungültig ist, und die Schleife wird fort­ge­setzt, 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 kon­ver­tie­ren, können Sie die numpy.float64()-Funktion verwenden. Sie erhalten damit aus einem String einen 64-Bit-Gleit­kom­ma­wert.

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 im­por­tie­ren, falls es noch nicht in­stal­liert ist. Mit NumPy können Sie dann die Funktion numpy.float64() auf die Zei­chen­ket­te string_value anwenden, um den String in einen 64-Bit-Gleit­kom­ma­wert um­zu­wan­deln.

Kon­ver­tie­rung mit str()

Umgekehrt dient die str()-Funktion in Python dazu, Werte in einen String zu kon­ver­tie­ren. Sie kann auch mit Gleit­kom­ma­zah­len arbeiten, um diese in eine Zei­chen­ket­te um­zu­wan­deln.

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" ab­ge­bil­det.

str() ist auch nützlich, um mehrere Float-Werte mit f-strings, einem Python-String-Format, zu kon­ka­te­nie­ren:

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 Kon­ver­tie­rung von Floats in Strings durch str() der re­sul­tie­ren­de String den Wert als Text darstellt und nicht mehr direkt für nu­me­ri­sche Be­rech­nun­gen oder ma­the­ma­ti­sche Ope­ra­tio­nen verwendet werden kann, es sei denn, er wird zuerst wieder in eine nu­me­ri­sche Form (wie einen Float) um­ge­wan­delt.

Tipp

In unserem Ratgeber finden Sie außerdem An­lei­tun­gen zu Kon­ver­tie­run­gen von Python String to List und Python String to Datetime.

Web­hos­ting
Das beste Web­hos­ting zum Spit­zen­preis
  • 3x schneller und 60 % günstiger
  • Maximale Ver­füg­bar­keit mit > 99.99 %
  • Nur bei IONOS: Bis zu 500 GB Spei­cher­platz inklusive
Zum Hauptmenü