2012-10-26 49 views
18

Có hàm nào trong Python cho phép tôi làm tròn xuống bội số gần nhất của một số nguyên không?Làm tròn số nguyên xuống gần nhất

round_down(19,10)=10 
round_down(19,5)=15 
round_down(10,10)=10 

tôi tận tâm nhìn SO và thấy không có gì liên quan đến làm tròn xuống đến một cơ sở gần nhất. Hãy ghi nhớ điều này trước khi bạn đăng liên kết đến các câu hỏi có liên quan hoặc gắn cờ là trùng lặp.

+0

Nếu bạn tìm thấy thứ gì đó để làm tròn lên, tại sao không sử dụng và trừ đi nếu kết quả và giá trị ban đầu không bằng nhau? –

+2

Tôi có thể làm điều đó một triệu cách. Tôi muốn có một chức năng Python để tránh xả rác mã của tôi với các định nghĩa, nhưng tôi đoán không có gì để làm điều này được bao gồm trong Python và bây giờ tôi biết. Câu trả lời của IG có vẻ khá tốt. –

+0

Có thể trùng lặp của [Vòng thành 5 (hoặc số khác) trong python] (https://stackoverflow.com/questions/2272149/round-to-5-or-other-number-in-python) –

Trả lời

44
def round_down(num, divisor): 
    return num - (num%divisor) 

In [2]: round_down(19,10) 
Out[2]: 10 

In [3]: round_down(19,5) 
Out[3]: 15 

In [4]: round_down(10,10) 
Out[4]: 10 
Các vấn đề liên quan