我可以在1到3之间生成一个相当容易的随机数。生成1到3之间的随机数/包括1位小数位
float x = Random.Range(1, 3);
但我想生成一个1到3之间的随机数,包括1个小数位。 即1.0,1.1,1.2-2.8,2.9,3.0, 任何帮助感谢。我发现不容易的功能来做到这一点。
注意 - 我使用的.cs在Unity
我可以在1到3之间生成一个相当容易的随机数。生成1到3之间的随机数/包括1位小数位
float x = Random.Range(1, 3);
但我想生成一个1到3之间的随机数,包括1个小数位。 即1.0,1.1,1.2-2.8,2.9,3.0, 任何帮助感谢。我发现不容易的功能来做到这一点。
注意 - 我使用的.cs在Unity
脚本可以繁衍的结果是这样的:
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()方法是一个浮动,而不是一个int。同样在使用该方法的地方,确保每次浮动后放置f,例如Random.Range(1.0f,3.0f)。
Random.Range是最大限度的排他性的,所以你可能想用3.1f来包含高达3.0f。
我知道这个线程是旧的只是想我会试着帮助其他人看着它。
将其更改为rnd.Next(10,31),上限是排他性的,不包括在内。 – zmbq
雅,我刚刚发布了。更新。 –
对不起,我应该注意到我在Unity程序中使用脚本来执行此操作。获取错误,'UnityEngine.Random'不包含'Next'的定义,而不包含'UnityEngine.Random'类型的扩展方法'Next'。 – user3609198