舍入浮动到最近的因子?

时间:2008-12-07 12:45:16

标签: python algorithm math

我想解决一个小数学问题

给定数字x和分辨率y,我需要找到具有所需分辨率的下一个x'。

e.g。

x = 1.002     y = 0.1   x'= 1.1

x = 0.348     y = 0.1   x'= 0.4

x = 0.50      y = 1     x'= 1

x = 0.32      y = 0.05     x'= 0.35

在Python中有没有聪明的方法呢?

1 个答案:

答案 0 :(得分:12)

import math

def next_multiple(x, y):
    return math.ceil(x/y)*y

def try_it(x, y):
    print x, y, next_multiple(x, y)

for x, y in [
    (1.002, 0.1),
    (0.348, 0.1),
    (0.50, 1),
    (0.32, 0.05)
    ]:
    try_it(x, y)

产生

1.002 0.1 1.1
0.348 0.1 0.4
0.5 1 1.0
0.32 0.05 0.35

我认为你的第一个示例输出是错误的,x'的正确答案是1.1,对吗?