如何在一些步骤中产生数字?

时间:2011-06-18 19:32:29

标签: math numbers

我想用一些步骤产生数字, 例如,对于第4步,我想生成:

1   -> 0
3   -> 4
4.1 -> 4
15  -> 16
etc.

步骤0.2:

1     -> 1
3     -> 3
4.1   -> 4.2
15.99 -> 16
etc.

你知道很好的公式来产生这样的数字吗?

1 个答案:

答案 0 :(得分:2)

看起来你只想round()到最近的step倍数。试试这个:

result = round(num/step)*step

第4步:

  • 轮(1/4)* 4 = 0×4 = 0
  • 轮(3/4)* 4 = 1×4 = 4
  • 轮(4.1 / 4)* 4 = 1×4 = 4
  • 轮(15/4)* 4 = 4 * 4 = 16

步骤0.2:

  • 轮(1 / 0.2)* 0.2 = 5 * 0.2 = 1
  • 轮(3 / 0.2)* 0.2 = 15 * 0.2 = 3
  • 轮(4.1 / 0.2)* 0.2 = 21 * 0.2 = 4.2
  • 轮(15.99 / 0.2)* 4 = 80 * 0.2 = 16