Lua 随机小数到第八位

如何在 Lua 中获得小数点后第八位的随机数?

例如:0.00000001

我尝试了以下内容和其中的多个变体,但无法获得所需的格式。

math.randomseed(os.time())
x=math.random(10000000,20000000)*0.00000001
print(x)

我想输入200并得到此结果0.00000200

点赞
用户5113346
用户5113346

string.format("%.8f",math.random())

将随机生成的小数保留8位小数并转换为字符串。

2017-02-15 05:59:49
用户2505965
用户2505965

从0-9中随机选择一个数字,并将其向下移动6个位置。您可以使用格式说明符创建所需的数字的字符串表示形式。对于浮点数,我们使用%f,并使用中间的.n指示我们要拥有多少位小数,其中n是一个数字。

math.randomseed(os.time())
-- 随机选择1-9的数字
print(('%.8f'):format(math.random(1, 9) * 1e-6))
--> '0.00000400'
2017-02-15 06:00:01
用户3167648
用户3167648

为了帮助其他人,我应该将我的问题表达得更清楚一些。我想要生成小数点后8位的随机数。

但我想要这些数字在1-10,000之间,所以他们的代码变成了这样:

math.randomseed(os.time())
lowest = 1
highest = 7000
rand=('%.8f'):format(math.random(lowest, highest) / 100000000)
print(rand)

希望这能帮助别人,如果有需要改进的地方,请告诉我。

2017-02-15 19:22:24