8.833333333339
(hoặc 8.833333333333334
, kết quả của 106.00/12
) được làm tròn đúng đến hai chữ số thập phân là 8.83
. Về mặt toán học, nó giống như những gì bạn muốn là một hàm trần . Một trong math
mô-đun của Python có tên ceil
:
import math
v = 8.8333333333333339
print(math.ceil(v*100)/100)
Tương ứng, các hàm sàn và trần thường ánh xạ một số thực với số nguyên lớn nhất trước đó hoặc nhỏ nhất sau đó không có chữ số thập phân - vì vậy, để sử dụng chúng cho 2 chữ số thập phân, số đầu tiên được nhân với 10 2 (hoặc 100) để chuyển số thập phân điểm và sau đó được chia cho nó sau đó để bù đắp.
Nếu bạn không muốn sử dụng math
mô-đun vì lý do nào đó, bạn có thể sử dụng triển khai này (được thử nghiệm tối thiểu) mà tôi vừa viết:
def ceiling(x):
n = int(x)
return n if n-1 < x <= n else n+1
Từ kết quả đầu ra mẫu, có vẻ như họ đã làm tròn khoản thanh toán hàng tháng, mà nhiều người gọi là tác động của hàm trần. Điều này có nghĩa là mỗi tháng sẽ có nhiều hơn 1 ⁄ 12 tổng số tiền được thanh toán. Điều đó làm cho khoản thanh toán cuối cùng nhỏ hơn một chút so với bình thường - chỉ để lại số dư chưa thanh toán còn lại 8.76
.
Nó sẽ hợp lệ như nhau nếu sử dụng làm tròn thông thường tạo ra khoản thanh toán hàng tháng 8.83
và khoản thanh toán cuối cùng cao hơn một chút 8.87
. Tuy nhiên, trong thế giới thực, mọi người thường không thích tăng các khoản thanh toán của mình, vì vậy việc làm tròn mỗi khoản thanh toán là một thực tế phổ biến - nó cũng trả lại tiền cho người cho vay nhanh hơn.