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știValueError. Pentru un text cu zecimale foloseșteint(float("3.5")). - Te aștepți ca
int(2.7)să rotunjească la 3.int()taie zecimalele; pentru rotunjire foloseșteround().
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.