2015-06-24 11 views
15

In Python 2, floor() ha restituito un valore float. Sebbene non sia ovvio per me, ho trovato alcune spiegazioni per chiarire perché potrebbe essere utile avere il float di ritorno floor() (per casi come float('inf') e float('nan')).Qual è la differenza tra int() e floor() in Python 3?

Tuttavia, in Python 3, floor() restituisce un numero intero (e restituisce l'errore di overflow per i casi speciali menzionati in precedenza).

Quindi qual è la differenza, se esiste, tra int() e floor() ora?

risposta

40

floor() colpi in basso. int()tronchi. La differenza è evidente quando si utilizza i numeri negativi:

>>> import math 
>>> math.floor(-3.5) 
-4 
>>> int(-3.5) 
-3 

arrotondamento verso il basso numeri negativi significa che si allontanano da 0, troncando mosse loro più vicino a 0.

Mettere in modo diverso, il floor() sta andando sempre essere inferiore o uguale all'originale. int() sarà più vicino a zero o uguale.

+1

Grazie! Non ho mai pensato a numeri interi negativi. – datah4ck3r

Problemi correlati