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

时间:2014-05-06 17:10:47

标签: c# random unity3d int

我可以很容易地生成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脚本

5 个答案:

答案 0 :(得分:17)

您可以将结果乘以:

float result = rnd.Next(10, 31) * .1f;

这将产生从1.03.0的范围,踩到.1

答案 1 :(得分:0)

这看起来很稳固。

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();
    }
}

答案 2 :(得分:0)

只需在原始代码中添加十进制数字:

Random.Range(1.0, 3.0);

答案 3 :(得分:0)

确保要应用Random.Range()方法的变量是float而不是int。此外,在使用该方法的地方,请确保在每次浮动后放置f,例如Random.Range(1.0f,3.0f)。

Random.Range是最高级别的,因此您可能希望使用3.1f来包含最多3.0f。

我知道这个帖子已经过时了,我以为我会尝试帮助其他任何看过它的人。

答案 4 :(得分:0)

对于使用Unity的用户,请使用System.Random。

例如:

System.Random rnd = new System.Random();

Unity妨碍了它自己的随机对象。

相关问题