Heim  >  Artikel  >  So konvertieren Sie einen String in den Typ int

So konvertieren Sie einen String in den Typ int

zbt
zbtOriginal
2023-08-02 10:59:517692Durchsuche

Beim Programmieren stoßen wir oft auf Situationen, in denen wir einen String (str) in eine ganze Zahl (int) umwandeln müssen. Dies kann daran liegen, dass wir numerische Berechnungen für Zeichenfolgen durchführen oder vom Benutzer eingegebene Zeichenfolgen zur Verarbeitung in Ganzzahlen umwandeln müssen. In diesem Artikel erfahren Sie, wie Sie eine Zeichenfolge in eine Ganzzahl umwandeln.

1. Verwenden Sie die integrierte Funktion int()

Python bietet eine integrierte Funktion int(), die zum Konvertieren von Zeichenfolgen in Ganzzahlen verwendet werden kann. Die grundlegende Syntax dieser Funktion lautet wie folgt:

int(string, base)

Dabei ist string der zu konvertierende String und base ein optionaler Parameter, der die Basis des Strings angibt. Wenn die Basis nicht angegeben ist, ist der Standardwert Dezimalzahl.

Um einen String in eine Ganzzahl umzuwandeln, verwenden Sie einfach die Funktion int() und übergeben Sie den String als Parameter. Ein Beispiel ist wie folgt:

num_str = "123" # 定义一个字符串
num_int = int(num_str) # 将字符串转换为整数
print(num_int) # 输出:123
print(type(num_int)) # 输出:

2. Verwenden Sie try-exclusive, um Ausnahmen zu behandeln

Beim Konvertieren einer Zeichenfolge in eine Ganzzahl können einige Probleme auftreten. Beispielsweise enthält die Zeichenfolge nicht numerische Zeichen oder der durch die Zeichenfolge dargestellte Wert überschreitet den Bereich von Ganzzahlen. Um zu verhindern, dass das Programm während der Konvertierung abstürzt, können wir Try-Exception-Anweisungen zur Behandlung von Ausnahmen verwenden.

Wenn Sie die Funktion int() zum Konvertieren einer Zeichenfolge verwenden und eine Ausnahme auftritt, löst Python eine ValueError-Ausnahme aus. Daher können wir try-exclusive verwenden, um diese Ausnahme abzufangen und entsprechend zu behandeln.

num_str = "abc" # 包含非数字字符的字符串
try:
num_int = int(num_str)
print(num_int)
except ValueError:
print("字符串不能转换为整数")

Da die Zeichenfolge im obigen Beispiel das nicht numerische Zeichen „abc“ enthält, kann die Funktion int() es nicht in eine Ganzzahl umwandeln, sodass eine ValueError-Ausnahme ausgelöst wird. Im Ausnahmeblock geben wir eine entsprechende Eingabeaufforderungsmeldung aus.

3. Verwenden Sie reguläre Ausdrücke

Eine andere Möglichkeit, eine Zeichenfolge in eine Ganzzahl umzuwandeln, ist die Verwendung regulärer Ausdrücke. Reguläre Ausdrücke sind ein leistungsstarkes Mustervergleichstool, mit dem bestimmte Muster aus Zeichenfolgen extrahiert werden können.

Wir können die Funktion findall() im re-Modul verwenden, um das numerische Muster in der Zeichenfolge zu finden und es zu extrahieren. Anschließend können wir die Funktion int() verwenden, um die extrahierte Liste von Zeichenfolgen in Ganzzahlen umzuwandeln.

import re
num_str = "I have 123 apples" # 包含数字的字符串
numbers = re.findall(r'\d+', num_str) # 使用正则表达式查找数字模式
int_list = [int(num) for num in numbers] # 将字符串列表转换为整数列表
print(int_list) # 输出:[123]

Im obigen Beispiel bedeutet der reguläre Ausdruck r'd+', dass ein oder mehrere numerische Zeichen übereinstimmen. Die Funktion findall() gibt eine Liste aller übereinstimmenden Zeichenfolgen zurück. Anschließend verwenden wir Listenverständnis, um diese Zeichenfolgen in Ganzzahlen umzuwandeln.

Zusammenfassung:

In diesem Artikel werden drei Methoden zum Konvertieren von Zeichenfolgen in Ganzzahlen vorgestellt. Die Verwendung der Funktion int() ist die gebräuchlichste Methode, Sie müssen jedoch auf die Behandlung von Ausnahmen achten. Verwenden Sie reguläre Ausdrücke, um numerische Muster in Zeichenfolgen zu extrahieren und sie in Ganzzahlen umzuwandeln. Wählen Sie in tatsächlichen Anwendungen die am besten geeignete Methode zum Konvertieren von Zeichenfolgen in Ganzzahlen entsprechend der jeweiligen Situation. .

Das obige ist der detaillierte Inhalt vonSo konvertieren Sie einen String in den Typ int. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn