我想在python舍入到指定值。圆形或.99,9.99或其他值。价值可以通过动态。 例如:
回到.99
20.11 => 20.99
11.33 = 11.99
1.00 = 1.99
圆满至9.99
100 => 109.99
293.33 => 299.99
圆满至0.33
1 => 1.33
34.44 => 35.33
怎么做?
答案 0 :(得分:3)
def roundAprox(a, b):
c = 0
while (pow(10, c) < b):
c += 1
result = int(a)
return result - result % (pow(10, c)) + b
让我们测试一下:
print roundAprox(20.11, 0.99)
print roundAprox(11.33, 0.99)
print roundAprox(1.00, 0.99)
print roundAprox(100, 9.99)
print roundAprox(293.33, 9.99)
print roundAprox(1, 0.33)
print roundAprox(34.44, 0.33)
结果:
20.99
11.99
1.99
109.99
299.99
1.33
34.33
我认为上一轮到0.33是错误的,你希望34.44成为34.33