2015-06-24 14 views
15

Trong Python 2, floor() trả lại giá trị float. Mặc dù không rõ ràng với tôi, tôi đã tìm thấy một số giải thích làm rõ lý do tại sao nó có thể hữu ích để có float trả về floor() (đối với các trường hợp như float('inf')float('nan')).Sự khác nhau giữa int() và floor() trong Python 3 là gì?

Tuy nhiên, trong Python 3, floor() trả về số nguyên (và trả về lỗi tràn cho các trường hợp đặc biệt được đề cập trước đó).

Vậy sự khác biệt, nếu có, giữa int()floor() bây giờ là gì?

Trả lời

40

floor() vòng xuống. int()cắt ngắn. Sự khác biệt là rõ ràng khi bạn sử dụng số âm:

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

Làm tròn xuống số âm có nghĩa là họ di chuyển ra khỏi 0, cắt xén di chuyển họ đến gần 0.

Đưa nó một cách khác, các floor() luôn đi thấp hơn hoặc bằng với bản gốc. int() sẽ gần bằng không hoặc bằng nhau.

+1

Cảm ơn! Tôi chưa bao giờ nghĩ đến các số nguyên âm. – datah4ck3r

Các vấn đề liên quan