簡體   English   中英

生成1到3之間的隨機數/包括1個小數位

[英]Generate random number between 1 and 3 / including 1 decimal place

我可以很容易地生成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()方法的變量是float而不是int。 此外,使用該方法時,請確保在每次浮動后放置f,例如Random.Range(1.0f,3.0f)。

Random.Range是最大的獨占,因此您可能希望使用3.1f來包含最多3.0f。

我知道這個線程已經老了,我以為我會嘗試幫助其他人看它。

對於使用Unity的用戶,請使用System.Random。

例如:

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

Unity有它自己的隨機對象正在阻礙。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM