Math 如何在某些步长范围内生成数字?

Math 如何在某些步长范围内生成数字?,math,numbers,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. 你知道产生这样的数字的好公式吗?看起来你只想将()四舍五入到步骤的最接近倍数。试试这个: result=round(num/step)*step 步骤4: 四舍五入(1/4)*4=0

我想用一些步骤生成数字, 例如,对于步骤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.

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

看起来你只想
将()
四舍五入到
步骤的最接近倍数。试试这个:

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

看起来您只想
四舍五入
步骤
的最近倍数?