生成1到3之间的随机数/包含1位小数



我可以很容易地生成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.03.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有它自己的随机对象,这是阻碍。

最新更新