math.floor(), math.ceil() și math.trunc() în Python

Rotunjire în jos, în sus sau prin tăierea zecimalelor, la un număr întreg.

Sintaxă
math.floor(x)
math.ceil(x)
math.trunc(x)

Ce face math.floor(), math.ceil() și math.trunc()

floor(x) dă cel mai mare întreg mai mic sau egal cu x (rotunjire în jos). ceil(x) dă cel mai mic întreg mai mare sau egal (rotunjire în sus). trunc(x) taie partea zecimală (spre zero), la fel ca int(x).

Diferența dintre floor și trunc apare doar la numere negative: floor(-2.5) este -3, iar trunc(-2.5) este -2. Toate trei returnează int.

Parametri

Parametru Descriere
x Un număr.

Ce returnează

Un int.

Exemple

Exemplul 1: Comparație

import math
for x in [2.7, 2.2, -2.5]:
    print(x, math.floor(x), math.ceil(x), math.trunc(x), round(x))

Rezultat

2.7 2 3 2 3
2.2 2 3 2 2
-2.5 -3 -2 -2 -2

Exemplul 2: Câte pagini sunt necesare

import math
produse = 47
pe_pagina = 10
print("Pagini:", math.ceil(produse / pe_pagina))
print("Pagini pline:", math.floor(produse / pe_pagina), produse // pe_pagina)

Rezultat

Pagini: 5
Pagini pline: 4 4

Greșeli frecvente

  • Folosești int() pentru rotunjire în jos la numere negative: int(-2.5) dă -2, nu -3. Folosește math.floor().

Comenzi înrudite

  • round(): Rotunjește un număr la cel mai apropiat întreg sau la un număr de zecimale.
  • int(): Tipul numerelor întregi; int() transformă un text sau un număr zecimal în număr întreg.
  • math.fmod(), math.remainder() și math.modf(): Variante ale restului împărțirii pentru numere zecimale și separarea părții întregi de cea fracționară.