在鱼中生成随机浮点数 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 位小数。
我一直在使用 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 位小数。