Konvertieren String in Dezimal in Python

Vaibhhav Khetarpal 10 Oktober 2023
  1. Verwenden Sie die Funktion float(), um in Python einen String in eine Dezimalzahl umzuwandeln
  2. Verwenden von Ausnahmebehandlung Konvertieren einer Zeichenkette, die ein Komma enthält, in eine Zeichenkette in Python
  3. Verwenden Sie die String-Formatierung zusammen mit der Funktion float(), um einen String in Python in eine Dezimalzahl umzuwandeln
  4. Verwenden Sie List Comprehension, um eine Liste von Strings in Python in Float zu konvertieren
  5. Verwenden Sie die Funktion numpy.float(), um einen String in Python in eine Dezimalzahl umzuwandeln
  6. Verwenden Sie die Methode astype() aus der Bibliothek NumPy, um in Python einen String in eine Dezimalzahl umzuwandeln
  7. Verwenden Sie das Modul decimal, um in Python eine Zeichenkette in eine Dezimalzahl umzuwandeln
Konvertieren String in Dezimal in Python

Strings in Python können numerische Werte annehmen. Ähnlich wie andere gängige Programmiersprachen unterstützt Python Integer- und Gleitkomma- (oder Dezimal-)Zahlen und verfügt über separate Datentypen, die ihnen zugewiesen sind. Manchmal ist es erforderlich, die numerischen Werte einer Zeichenkette in eine ganze Zahl oder eine Gleitkommazahl umzuwandeln.

In diesem Tutorial erfahren Sie, wie Sie in Python einen String in eine Dezimalzahl umwandeln.

Verwenden Sie die Funktion float(), um in Python einen String in eine Dezimalzahl umzuwandeln

Python bietet eine eingebaute Funktion namens float(), die verwendet wird, um einen String oder eine ganze Zahl in einen Gleitkommawert umzuwandeln.

Hier geben wir einen String ein und führen die Funktion float() für den angegebenen String aus.

Der folgende Code verwendet die Funktion float(), um einen String in Python in eine Dezimalzahl umzuwandeln.

a = "5.54"
x = float(a)
print(x)

Der obige Code liefert die folgende Ausgabe:

5.54

Verwenden von Ausnahmebehandlung Konvertieren einer Zeichenkette, die ein Komma enthält, in eine Zeichenkette in Python

Wenn ein Komma die Zahlen im String trennt und die Funktion float() direkt für den String aufgerufen wird, dann ergibt das einen ValueError.

Der folgende Beispielcode hilft Ihnen, es besser zu verstehen.

a = "1,5.54"
x = float(a)
print(x)

Der obige Code liefert die folgende Ausgabe:

Traceback (most recent call last):
  File "<string>", line 2, in <module>
ValueError: could not convert string to float: '1,5.54'

Wir können einen kurzen Umweg vom ursprünglichen Code machen und die Ausnahmebehandlung in diesem Code verwenden, um dies zu vermeiden.

Die Anweisung try...except wird für die Ausnahmebehandlung in Python verwendet. Die Anweisung try...except ist in drei Blöcke unterteilt; alle drei Blöcke haben einen anderen Zweck.

  • Der Block try enthält den Codecluster, der auf Fehler getestet werden soll.
  • Der Block except wird verwendet, um Ausnahmen hinzuzufügen und die Fehler des Codes zu behandeln.
  • Der Block finally enthält die auszuführenden Anweisungen und wird von den Blöcken try und except ignoriert.

Der folgende Code verwendet die Ausnahmebehandlung des oben angegebenen Originalcodes, um eine Zeichenkette in Python in eine Dezimalzahl umzuwandeln.

a = "1,5.54"
try:
    x = float(a)
except ValueError:
    print("Invalid Float number to be converted. ")

Der obige Code liefert die folgende Ausgabe:

Invalid Float number to be converted.

Verwenden Sie die String-Formatierung zusammen mit der Funktion float(), um einen String in Python in eine Dezimalzahl umzuwandeln

Wenn wir in einem gegebenen String die Anzahl der Dezimalpunkte angeben möchten, die wir in der Gleitkommavariable haben möchten, können wir die String-Formatierung zusammen mit der eingebauten Funktion float() verwenden.

Der folgende Code verwendet die Zeichenkettenformatierung, um eine Zeichenkette in Python in eine Dezimalzahl umzuwandeln.

a = "5.54231"
x = float(a)
x = "{:.2f}".format(x)
print(x)

Der obige Code liefert die folgende Ausgabe:

5.54

Verwenden Sie List Comprehension, um eine Liste von Strings in Python in Float zu konvertieren

List Comprehensions ist eine relativ kürzere und sehr elegante Möglichkeit, Listen zu erstellen, die basierend auf vorgegebenen Werten einer bereits existierenden Liste gebildet werden sollen.

Wir können das List Comprehensions verwenden und alle Werte innerhalb der Liste mit der Methode float() im List Comprehensions in Gleitkommawerte umwandeln.

Der folgende Code verwendet List Comprehensions, um eine Liste von Zeichenketten in Python in Float zu konvertieren.

lst = ["1.22", "5.54", "6.858"]
x = [float(i) for i in lst]
print(x)

Der obige Code liefert die folgende Ausgabe.

[1.22, 5.54, 6.858]

Verwenden Sie die Funktion numpy.float(), um einen String in Python in eine Dezimalzahl umzuwandeln

Der Begriff NumPy ist ein Akronym für Numerical Python. Diese Bibliothek ermöglicht die Verwendung von Arrays in Python. Es bietet auch Funktionen, die bei der Manipulation dieser Arrays helfen.

Die Funktion numpy.float() funktioniert ähnlich wie die eingebaute Funktion float() in Python, mit dem einzigen Unterschied, dass die Funktion numpy.float() mit Arrays arbeitet. Es generiert immer ein Array von Gleitkommawerten.

Der folgende Code verwendet die Funktion numpy.float(), um einen String in Python in eine Dezimalzahl umzuwandeln.

import numpy as np

lst = ["1.22", "5.54", "6.858"]
print(list(np.float_(lst)))

Der obige Code liefert die folgende Ausgabe:

[1.22, 5.54, 6.858]

Verwenden Sie die Methode astype() aus der Bibliothek NumPy, um in Python einen String in eine Dezimalzahl umzuwandeln

Die Bibliothek NumPy enthält eine eingebaute Methode astype(), die beim Konvertieren des Datentyps des angegebenen NumPy-Arrays hilft.

Der folgende Code verwendet die Methode astype() aus der Bibliothek NumPy, um in Python einen String in eine Dezimalzahl umzuwandeln.

import numpy as np

a = np.array(["1.22", "5.54", "6.858"])
x = a.astype(float)
print(x)

Der obige Code liefert die folgende Ausgabe:

[1.22  5.54  6.858]

Verwenden Sie das Modul decimal, um in Python eine Zeichenkette in eine Dezimalzahl umzuwandeln

Das Modul decimal liefert Funktionen, die schnellere Operationen ausführen als die Stock-Gleitkommafunktionen.

Die Funktion decimal.Decimal(), bei der es sich um einen Konstruktor handelt, nimmt Eingaben als numerischen Wert entgegen und führt den Prozess zur Umwandlung in einen Dezimaltyp durch, der sich ideal zum Speichern und Darstellen der numerischen Werte eignet, wobei die Genauigkeit von die Nummer.

Der folgende Code verwendet das Modul decimal, um einen String in Python in eine Dezimalzahl umzuwandeln.

from decimal import Decimal

a = "5.54262"
x = Decimal(a)
print(x)

Der obige Code liefert die folgende Ausgabe:

5.54262
Vaibhhav Khetarpal avatar Vaibhhav Khetarpal avatar

Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.

LinkedIn

Verwandter Artikel - Python String

Verwandter Artikel - Python Float