# 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:

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

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:

```python
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
```

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.

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

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.

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

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:

```python
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
```

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](https://www.ionos.com/de-ch/digitalguide/websites/web-entwicklung/python-string-to-list/) und [Python String to Datetime](https://www.ionos.com/de-ch/digitalguide/websites/web-entwicklung/python-string-to-datetime-konvertieren/).


This is a markdown version of: [https://www.ionos.com/de-ch/digitalguide/websites/web-entwicklung/python-string-float/](https://www.ionos.com/de-ch/digitalguide/websites/web-entwicklung/python-string-float/) for AI/LLM consumption.