在鱼中生成随机浮点数 shell

Generating random floats in fish shell

我一直在使用 fish 的 random start stop 生成随机整数,但我很好奇是否有办法从 fish 中获取随机浮点数,或者我是否需要使用其他程序。

我目前的方法对我来说有点老套。例如,这里是我如何生成类似浮点数的东西,但显然只有一位小数。有更好的方法吗?

set myNum (random 0 9).(random 0 9)

许多语言走的是 Fish shell 脚本的相反路线,随机函数 的结果是 0 <= r < 1。在那种情况下,要获得一个整数,您只需乘以您想要的最大数字。

所以对于 Fish,我会做相反的过程——除法以获得你想要的精度。

对于您的特定示例:

set myNum (math (random 0 99)/10)

当然,如果你想从 0.0 到 10.0(包括你的例子是不可能的):

set myNum (math (random 0 100)/10)

如果您要将 0 <= r < 1 样式复制到小数点后 4 位:

set myNum (math (random 0 9999)/10000)

这将最多保留 6 位小数。