Skip to content

Prüfen, ob eine Zahl eine ganze Zahl oder eine Dezimalzahl in Python ist

Python

Dieser Artikel genau, wie man in Python prüft, ob eine Zahl eine Ganzzahl oder eine Dezimalzahl ist.

  • Prüfen Sie, ob das Objekt int oder float ist:isinstance()
  • Prüfen Sie, ob Float eine ganze Zahl ist:is_integer()
  • Überprüfen Sie, ob die numerischen Buchstaben eine ganze Zahl ist

Im following Artikel erfahren Sie, wie SIE die Bruch- und Ganzzahlteile erhalten.

Sehen Sie sich den following Artikel an, um zu überprüfen, ob eine Zeichenfolge Eine Zahl ist.

Prüfen Sie, ob das Objekt int oder float ist:isinstance()

Sie können den Typ eines Objekts mit der eingebauten Funktion type() erhalten.

i = 100
f = 1.23

print(type(i))
print(type(f))
# <class 'int'>
# <class 'float'>

Sie können auch mit der eingebauten Funktion isinstance(object, type) prüfen, ob ein Objekt von einem bestimmten Typ ist.

print(isinstance(i, int))
# True

print(isinstance(i, float))
# False

print(isinstance(f, int))
# False

print(isinstance(f, float))
# True

Da in diesem Fall nur der Typ überprüft WIRD, can SIE nicht überprüfen, ob der Wert von Float Eine Ganzzahl ist (der Bruchteil ist 0).

f_i = 100.0

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

print(isinstance(f_i, int))
# False

print(isinstance(f_i, float))
# True

Prüfen Sie, ob Float eine ganze Zahl ist:is_integer()

Float hat die Methode is_integer(), die True zurückgibt, wenn der Wert eine Ganzzahl ist, und andernfalls False.

f = 1.23

print(f.is_integer())
# False

f_i = 100.0

print(f_i.is_integer())
# True

Beispiel kann eine Funktion, die True für eine ganze Zahl (int oder integer float) zurückgibt, wie folgt definiert werden. Diese Funktion ist False für str zurück.

def is_integer_num(n):
    if isinstance(n, int):
        return True
    if isinstance(n, float):
        return n.is_integer()
    return False

print(is_integer_num(100))
# True

print(is_integer_num(1.23))
# False

print(is_integer_num(100.0))
# True

print(is_integer_num('100'))
# False

Überprüfen Sie, ob die numerischen Buchstaben eine ganze Zahl ist

Wenn Sie feststellen möchten, dass die Folge von Ganzzahlen auch eine Ganzzahl ist, kann die folgende Funktion verwendet werden.

Wenn möglich, wird der Wert mit float() in Float konvertiert, dann wird die Methode is_integer() aufgerufen und das Ergebnis zurückgegeben.

def is_integer(n):
    try:
        float(n)
    except ValueError:
        return False
    else:
        return float(n).is_integer()

print(is_integer(100))
# True

print(is_integer(100.0))
# True

print(is_integer(1.23))
# False

print(is_integer('100'))
# True

print(is_integer('100.0'))
# True

print(is_integer('1.23'))
# False

print(is_integer('string'))
# False

In den following Artikeln FINDEN SIE Laptops zum Konvertieren von Buchstaben in Zahlen und zum Behandeln von Ausnahmen mit try …außer ….