Đây là một giải pháp mục đích chung cho phép làm tròn đến độ phân giải tùy ý. Đối với trường hợp cụ thể của bạn, bạn chỉ cần cung cấp 0.25
làm độ phân giải nhưng các giá trị khác có thể, như được hiển thị trong các trường hợp thử nghiệm.
def roundPartial (value, resolution):
return round (value/resolution) * resolution
print "Rounding to quarters"
print roundPartial (10.38, 0.25)
print roundPartial (11.12, 0.25)
print roundPartial (5.24, 0.25)
print roundPartial (9.76, 0.25)
print "Rounding to tenths"
print roundPartial (9.74, 0.1)
print roundPartial (9.75, 0.1)
print roundPartial (9.76, 0.1)
print "Rounding to hundreds"
print roundPartial (987654321, 100)
đầu ra này:
Rounding to quarters
10.5
11.0
5.25
9.75
Rounding to tenths
9.7
9.8
9.8
Rounding to hundreds
987654300.0
* đầu ---> bàn * thực sự tầm thường - Tôi sẽ dừng mã hóa lúc 5 giờ sáng - cảm ơn pulegium và 6502 – Daniyal