Android

So konvertieren Sie Strings in Python in Ganzzahlen

Python 3.7: Lower String Method

Python 3.7: Lower String Method

Inhaltsverzeichnis:

Anonim

Alle Datentypen in Python, einschließlich Ganzzahlen und Zeichenfolgen, sind Objekte. Wenn Sie Python-Code schreiben, müssen Sie häufig einen Datentyp in einen anderen konvertieren. Um beispielsweise eine mathematische Operation für eine als Zeichenfolge dargestellte Zahl auszuführen, muss sie in eine Ganzzahl konvertiert werden.

In diesem Tutorial zeigen wir Ihnen, wie Sie einen Python-String in eine Ganzzahl konvertieren.

Python int() Funktion

Die integrierte Funktion int() gibt ein dezimales Ganzzahlobjekt von einer bestimmten Zahl oder Zeichenfolge zurück. Es hat die folgende Form:

int(x, base=10)

Die `Funktion akzeptiert zwei Argumente:

  • x - Zeichenfolge oder Zahl, die in eine Ganzzahl konvertiert werden soll. base - Es repräsentiert das Zahlensystem des ersten Arguments. Sein Wert kann 0 und 2–36 sein. Wenn keine Basis angegeben ist, ist der Standardwert 10 (Dezimalzahl).

Normalerweise werden Ganzzahlen in hexadezimaler (Basis 16), dezimaler (Basis 10), oktaler (Basis 8) oder binärer (Basis 2) Notation ausgedrückt.

Wenn das angegebene Argument nicht als Ganzzahl dargestellt werden kann, ValueError die Funktion eine ValueError Ausnahme aus.

Konvertieren eines Python-Strings in eine Ganzzahl

In Python ist eine Zeichenfolge eine Liste von Zeichen, die in einfachen ( ' ), doppelten ( " ) oder dreifachen Anführungszeichen ( """ ) angegeben wird.

Wenn eine Variable, die nur Zahlen enthält, mit Anführungszeichen deklariert wird, wird der Datentyp auf String festgelegt. Betrachten Sie das folgende Beispiel:

days = "23" type(days)

Die Funktion type() zeigt uns, dass days ein String-Objekt ist.

Lassen Sie uns versuchen, eine mathematische Operation für die Variable durchzuführen:

print(days+5)

Python TypeError einen TypeError Ausnahmefehler aus, weil wir keine Additionsberechnung mit Zeichenfolge und Ganzzahl durchführen können:

Traceback (most recent call last): File " ", line 1, in TypeError: cannot concatenate 'str' and 'int' objects Traceback (most recent call last): File " ", line 1, in TypeError: cannot concatenate 'str' and 'int' objects Traceback (most recent call last): File " ", line 1, in TypeError: cannot concatenate 'str' and 'int' objects

Um eine Zeichenfolgendarstellung einer Dezimalzahl in eine Ganzzahl zu konvertieren, übergeben Sie die Zeichenfolge an die Funktion int() , die eine Dezimalzahl zurückgibt:

days = "23" days_int = int(days) type(days_int)

print(days_int+5)

28

Wenn die Zahl Kommas, Tausender, Millionen usw. enthält, müssen Sie die Kommas entfernen, bevor Sie die Zahl an die Funktion int() :

total = "1, 000, 000" int(total.replace(", ", ""))

1000000

Stellen Sie beim Konvertieren von Zeichenfolgen, die Ganzzahlen in verschiedenen Zahlensystemen darstellen, sicher, dass Sie die richtige base .

Beispielsweise wird im Hexadezimalsystem die Nummer 54732 als D5CF . Um es in eine Dezimalzahl umzuwandeln, müssen Sie Basis 16 verwenden:

int("D5CF", 16)

54735

Wenn Sie die D5CF Zeichenfolge an die Funktion int() , ohne eine Basis ValueError , wird eine ValueError Ausnahme ValueError :

int("D5CF")

Traceback (most recent call last): File " ", line 1, in ValueError: invalid literal for int() with base 10: 'D5CF' Traceback (most recent call last): File " ", line 1, in ValueError: invalid literal for int() with base 10: 'D5CF' Traceback (most recent call last): File " ", line 1, in ValueError: invalid literal for int() with base 10: 'D5CF'

Fazit

In Python können Sie einen String mit der Funktion int() in eine Ganzzahl konvertieren.

Python