[英]Parse number from textbox including decimal place / output with 2 decimal places
[英]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.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()方法的變量是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.