生成1到3之间的随机数/包含1位小数
本文关键字:包含 1位 小数 随机数 之间 生成 | 更新日期: 2023-09-27 18:02:05
我可以很容易地生成1到3之间的随机数。
float x = Random.Range(1, 3);
但是我正在尝试生成一个介于1和3之间的随机数,包括小数点后1位。即1.0,1.1,1.2 - 2.8,2.9,3.0任何帮助,感谢。我发现没有简单的函数可以做到这一点。
注意-我在Unity中使用。cs脚本
您可以像这样将结果相乘:
float result = rnd.Next(10, 31) * .1f;
这将导致1.0
到3.0
的范围,由.1
步进。
这看起来很可靠。
class Program
{
static void Main(string[] args)
{
float fMyNumber = 0;
Random rnd = new Random(Guid.NewGuid().GetHashCode());
for (int j = 0; j < 20; j++) {
fMyNumber = rnd.Next(1, 4);
fMyNumber += ((float)rnd.Next(10)) / 10;
Console.WriteLine(fMyNumber.ToString("0.0"));
}
Console.ReadLine();
}
}
只需在原始代码中添加十进制数字:
Random.Range(1.0, 3.0);
确保您应用Random.Range()方法的变量是浮点数而不是整型。此外,在使用该方法时,请确保在每个浮点数后面加上f,例如Random.Range(1.0f, 3.0f)。
随机的。范围是最大排他性的,所以你可能想用3.1f来包括3.0f。
我知道这个线程是旧的,只是想我会试着帮助其他人看它。
对于使用Unity的用户,请使用System.Random。
例如:
System.Random rnd = new System.Random();
Unity有它自己的随机对象,这是阻碍。