Skip to content

Konvertieren einer Zeichenkette in eine Zahl (int, float) in Python

Python

In Python können Sie mit int() und float() einen String str in eine Ganzzahl int und eine Fließkommazahl float umwandeln.

Dieser Artikel hat folgenden Inhalt.

  • Wandeln Sie einen String in int um:int()
  • Wandeln Sie einen String in Float um:float()
  • Konvertieren Sie eine Zeichenfolge in binärer, oktaler und hexadezimaler Notation in int
  • Konvertieren Sie eine Zeichenfolge in Exponentialschreibweise in Float

Verwenden Sie str(), um eine Ganzzahl oder Gleitkommazahl in einen String umzuwandeln.

Sie können auch eine Liste von Buchstaben in eine Liste von Zahlen umwandeln. Siehe folgenden Artikel.

Wandeln Sie einen String in int um:int()

int() wandelt einen String in eine Ganzzahl int um.

print(int('100'))
print(type(int('100')))
# 100
# <class 'int'>

Eine Zeichenfolge, die . oder , löst einen Fehler aus.

# print(int('1.23'))
# ValueError: invalid literal for int() with base 10: '1.23'

# print(int('10,000'))
# ValueError: invalid literal for int() with base 10: '10,000'

Ein durch Kommas getrennter String kann durch Löschen von , mit replace() konvertiert werden (durch den leeren String “ ersetzen).

print(int('10,000'.replace(',', '')))
# 10000

Siehe den following Artikel für replace().

Wandeln Sie einen String in Float um:float()

float() konvertiert einen String in eine Gleitkommazahl float.

print(float('1.23'))
print(type(float('1.23')))
# 1.23
# <class 'float'>

Es kann auch ein String ohne den ganzzahligen Teil konvertiert werden.

print(float('.23'))
# 0.23

Eine Zeichenfolge, die eine Ganzzahl darstellt, wird ebenfalls in eine Gleitkommazahl umgewandelt. schweben.

print(float('100'))
print(type(float('100')))
# 100.0
# <class 'float'>

Konvertieren Sie eine Zeichenfolge in binärer, oktaler und hexadezimaler Notation in int

Wenn Sie eine Basiszahl an das zweite Argument von int() übergeben, wird eine Zeichenfolge als binär, oktal und hexadezimal behandelt.

print(int('100', 2))
print(int('100', 8))
print(int('100', 16))
# 4
# 64
# 256

Wenn es weggelassen WIRD, WIRD es wie in den vorherigen Beispielen als Dezimalzahl betrachtet.

print(int('100', 10))
print(int('100'))
# 100
# 100

Wenn die Basis 0 ist, wird sie basierend auf dem Präfix der Zeichenfolge konvertiert (0b, 0o, 0x oder 0B, 0O, 0X).

print(int('0b100', 0))
print(int('0o100', 0))
print(int('0x100', 0))
# 4
# 64
# 256

Präfixe und hexadezimale Alphabete können entweder in Groß- oder Kleinbuchstaben geschrieben werden.

print(int('FF', 16))
print(int('ff', 16))
# 255
# 255

print(int('0xFF', 0))
print(int('0XFF', 0))
print(int('0xff', 0))
print(int('0Xff', 0))
# 255
# 255
# 255
# 255

Weitere Informationen zur gegenseitigen Konvertierung von binären, oktalen und hexadezimalen Strings und int finden Sie im following Artikel.

Konvertieren Sie eine Zeichenfolge in Exponentialschreibweise in Float

Ein String in Exponentialschreibweise kann mit float() in Float umgewandelt werden.

print(float('1.23e-4'))
print(type(float('1.23e-4')))
# 0.000123
# <class 'float'>

print(float('1.23e4'))
print(type(float('1.23e4')))
# 12300.0
# <class 'float'>

Sie können sowohl e als auch E verwenden.

print(float('1.23E-4'))
# 0.000123