int() în Python

Tipul numerelor întregi; int() transformă un text sau un număr zecimal în număr întreg.

Sintaxă
int(x=0)
int(text, base=10)

Ce face int()

int este tipul numerelor întregi. În Python, întregii nu au limită de mărime: poți calcula 2 ** 1000 fără depășire.

int(x) transformă textul "42" în numărul 42 și taie partea zecimală a unui float (spre zero, fără rotunjire). Cu base citești numere scrise în altă bază: binar (2), octal (8), hexazecimal (16).

În cod poți scrie numerele mari cu _ între cifre, pentru lizibilitate: 1_000_000.

Parametri

Parametru Descriere
x Un număr sau un text care conține un număr întreg (spațiile de la capete sunt ignorate).
base Opțional. Baza în care este scris textul, între 2 și 36. Cu base=0, baza se deduce din prefix (0b, 0o, 0x).

Ce returnează

Un număr întreg. Dacă textul nu este un număr întreg valid, apare ValueError.

Exemple

Exemplul 1: Conversii uzuale

print(int("42") + 8)
print(int(" 7 "))
print(int(9.99))
print(int(-9.99))
print(int(True))

Rezultat

50
7
9
-9
1

Exemplul 2: Alte baze

print(int("1010", 2))
print(int("ff", 16))
print(int("0x1F", 0))
print(int("777", 8))

Rezultat

10
255
31
511

Exemplul 3: Numere foarte mari și text invalid

print(2 ** 100)
print(1_000_000 * 3)
try:
    int("3.5")
except ValueError as e:
    print("Eroare:", e)

Rezultat

1267650600228229401496703205376
3000000
Eroare: invalid literal for int() with base 10: '3.5'

Greșeli frecvente

  • Încerci int("3.5") și primești ValueError. Pentru un text cu zecimale folosește int(float("3.5")).
  • Te aștepți ca int(2.7) să rotunjească la 3. int() taie zecimalele; pentru rotunjire folosește round().

Comenzi înrudite

  • float(): Tipul numerelor cu zecimale; float() transformă un text sau un întreg în număr zecimal.
  • round(): Rotunjește un număr la cel mai apropiat întreg sau la un număr de zecimale.
  • str(): Tipul textelor (șiruri de caractere); str() transformă orice valoare în text.
  • int.to_bytes() și int.from_bytes(): Transformă un număr întreg în octeți și octeții înapoi în număr.
  • bin(), oct() și hex(): Transformă un număr întreg în text scris în baza 2, 8 sau 16.