我正在尋找一個選項,以百分比的形式指定應該運行的頻率。轉換成隨機數的百分比
所以我會有一個文本框,它需要一個數字0-100去百分比。然後我想取這個數字,然後轉換成一個匹配的隨機語句。
因此,例如:
textPercentage.text = "10"
將更改爲類似:
if (rnd.Next(1, 11) = 1)
{
do();
}
什麼是該數值轉換爲隨機匹配語句的最佳方法是什麼?
我正在尋找一個選項,以百分比的形式指定應該運行的頻率。轉換成隨機數的百分比
所以我會有一個文本框,它需要一個數字0-100去百分比。然後我想取這個數字,然後轉換成一個匹配的隨機語句。
因此,例如:
textPercentage.text = "10"
將更改爲類似:
if (rnd.Next(1, 11) = 1)
{
do();
}
什麼是該數值轉換爲隨機匹配語句的最佳方法是什麼?
var i = int.Parse(textPercentage.Text);
if (rnd.Next(1, 101) <= i)
{
do();
}
您可能需要使用int.TryParse
在int.Parse
代替正常處理非數字輸入。
謝謝,這麼簡單,我讓它變得更加複雜。 – Michael
首先讓您的價值回到int
。
int
屬性。int.Parse
方法來獲取值回:如果你使用0-100
,你可以使用類似於原來的代碼什麼的,因爲,是值int.Parse(textBox.Text)
。
int value = int.Parse(textBox.Text);
if(rnd.Next(0, 100) < value)
{
DoSomething();
}
否則,只需添加一個到兩個的開始和結束的值:
int value = int.Parse(textBox.Text);
if(rnd.Next(1, 101) <= value)
{
DoSomething();
}
第一個是簡單的,所以我會用它去:)
是您的文本框或WPF的WinForms?我打賭它是WinForms,但我想我會問無論如何。 –
是的,WinForms,抱歉不清楚。 – Michael
@Michael我看到這樣的:隨機形式1 - 10,然後添加條件:如果,值爲1,沒有別的,所以這是1/10和thi是10個百分比,如果值是1,下一個值是4,所以我們有兩個值,所以這是2/10 = 20%。我是否正確地思考你的想法? – deadfish