Versuch der Konvertierung mit float()
In diesem Schritt werden wir untersuchen, wie man die Funktion float()
verwendet, um Zeichenketten in Gleitkommazahlen umzuwandeln. Dies ist nützlich, wenn Sie mit Zahlen arbeiten müssen, die Dezimalpunkte haben oder in wissenschaftlicher Notation dargestellt sind.
Die Funktion float()
ist eine integrierte Funktion in Python, die versucht, ihr Argument in eine Gleitkommazahl umzuwandeln. Wenn das Argument eine Zeichenkette ist, muss es eine gültige Darstellung einer Gleitkommazahl sein.
Lassen Sie uns unser Skript erneut ändern, um float()
zu verwenden und zu sehen, wie es verschiedene Zeichenketten behandelt:
-
Öffnen Sie die Datei numeric_strings.py
im VS Code-Editor.
-
Ändern Sie den Code, um die Funktion float()
einzubeziehen und potenzielle Fehler zu behandeln:
## Define some strings
string1 = "123"
string2 = "3.14"
string3 = "-42"
string4 = "0"
string5 = " 56 "
string6 = "abc"
string7 = "123.45.67"
string8 = "1e10"
## Try converting the strings to floats
strings = [string1, string2, string3, string4, string5, string6, string7, string8]
for s in strings:
try:
float_value = float(s)
print(f"String '{s}' can be converted to float: {float_value}")
except ValueError:
print(f"String '{s}' cannot be converted to float")
-
Speichern Sie die Datei numeric_strings.py
.
-
Führen Sie das Skript aus der Kommandozeile aus:
python numeric_strings.py
Sie sollten die folgende Ausgabe sehen:
String '123' can be converted to float: 123.0
String '3.14' can be converted to float: 3.14
String '-42' can be converted to float: -42.0
String '0' can be converted to float: 0.0
String ' 56 ' can be converted to float: 56.0
String 'abc' cannot be converted to float
String '123.45.67' cannot be converted to float
String '1e10' can be converted to float: 10000000000.0
Wie Sie sehen können, kann float()
Zeichenketten, die Ganzzahlen, Dezimalzahlen und Zahlen in wissenschaftlicher Notation darstellen, erfolgreich umwandeln. Es entfernt auch automatisch führende und abschließende Leerzeichen (wie bei string5
gezeigt). Wenn die Zeichenkette jedoch nicht als gültige Gleitkommazahl interpretiert werden kann (wie bei string6
und string7
gezeigt), löst es einen ValueError
aus.
Die Verwendung von try-except
-Blöcken ermöglicht es uns, diese potenziellen Fehler elegant zu behandeln und zu verhindern, dass unser Programm abstürzt. Dies ist eine häufige und wichtige Praxis beim Umgang mit Benutzereingaben oder Daten aus externen Quellen.