La differenza tra int() e floor() in python
Sia int() che floor() sono due funzioni del linguaggio python che trasformano un numero decimale in un numero intero (integer) ma in modo diverso.
- int() la funzione int tronca il numero decimale.
- floor() la funzione floor arrotonda il numero decimale al valore intero più basso.
Pertanto, nei numeri negativi le funzioni int() e floor() restituiscono in output valori differenti.
Nei numeri positivi, invece, le funzioni int() e floor() restituiscono lo stesso valore.
Nota. La funzione floor() si trova nella libreria math. Per usarla occorre prima importarla con il comando
from math import floor
Viceversa, la funzione int() è una funzione predefinita del linguaggio python.
Un esempio pratico
Esempio 1
Se il numero decimale è -3.1 la funzione int() tronca il numero eliminando la parte decimale, restituendo -3.
>>> int(-3.1)
>>> -3
Viceversa, la funzione floor() restituisce il numero intero vicino più basso (-3,-4) ossia -4.
>>> floor(3.1)
>>> -4
Pertanto, nel caso dei numeri negativi le funzioni floor() e int() restituiscono un risultato differente.
Esempio 1
Se il numero decimale è 3.1 la funzione int() si limita a troncare il numero, restituendo 3.
>>> int(3.1)
>>> 3
La funzione floor() restituisce il numero intero vicino più basso tra 3 e 4 ossia 3.
>>> floor(3.1)
>>> 3
Pertanto, nel caso dei numeri positivi le funzioni floor() e int() restituiscono lo stesso risultato.