我可以在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