float.is_integer() și int.is_integer() în Python

Numere și matematică Python 3.0+ (int.is_integer: 3.12+)

Verifică dacă un număr zecimal nu are parte fracționară (de exemplu 4.0).

Sintaxă
x.is_integer()

Ce face float.is_integer() și int.is_integer()

(4.0).is_integer() este True, iar (4.5).is_integer() este False. Este util înainte de a transforma un rezultat în int sau pentru a afișa 4 în loc de 4.0.

Din Python 3.12, și int are metoda (returnează mereu True), ca să poți apela x.is_integer() pe orice număr real.

Ce returnează

True sau False.

Exemple

Exemplul 1: Afișarea fără .0 inutil

for x in [10 / 2, 10 / 4, 7.0, float("inf")]:
    afisat = int(x) if x.is_integer() else x
    print(x, "->", afisat)
print((5).is_integer())

Rezultat

5.0 -> 5
2.5 -> 2.5
7.0 -> 7
inf -> inf
True

Greșeli frecvente

  • Te aștepți ca (0.1 * 3 * 10).is_integer() să fie True. Din cauza preciziei, rezultatul este 3.0000000000000004; rotunjește întâi.

Comenzi înrudite

  • float(): Tipul numerelor cu zecimale; float() transformă un text sau un întreg în număr zecimal.
  • int(): Tipul numerelor întregi; int() transformă un text sau un număr zecimal în număr întreg.
  • math.floor(), math.ceil() și math.trunc(): Rotunjire în jos, în sus sau prin tăierea zecimalelor, la un număr întreg.