如何将随机数转换为另一个数的倍数?

How can I convert a random number to a multiple of another number?

所以我正在开发这个应用程序,我需要将随机数转换为其他数字的倍数。假设我有一个数字 0.00486585,它需要是 0.00010000 的倍数。随机数可以是任何东西,从整数到浮点数,但它们将有自己的增量值。

增量值可以是 1、0.1、0.01、0.001 等。以下是增量值的说明: The increment of the order size. The value shall be a positive multiple of the baseIncrement.

我知道我可以在模数的帮助下检查一个数字是否是另一个数字的倍数,但这有点不同,因为我需要一个通用公式,该公式适用于任何随机数或任何增量值将数字转换为倍数。

请注意,生成的数字尽可能接近原始数字,不能超过原始数字。

非常感谢您的帮助。

考虑

x = 0.21321
y = 0.01
x-(x%y)

这应该给你一个可整除的数字。但是,这里有一个问题,因为 JS

中的四舍五入错误

x%y comes at 0.0032100000000000063

为避免这种情况,您可以使用舍入

(x-(x%y).toFixed(5))

toFixed(5) 仅供参考。您应该根据要求更改小数点