我正在考虑选择以百分比的形式指定某些事情的运行频率。
所以我会有一个文本框,需要0-100才能去除一个百分比。我想取这个数字,然后转换成匹配的随机语句。
例如:
textPercentage.text = "10"
将更改为:
if (rnd.Next(1, 11) = 1)
{
do();
}
将该数值转换为匹配的随机语句的最佳方法是什么?
答案 0 :(得分:3)
var i = int.Parse(textPercentage.Text);
if (rnd.Next(1, 101) <= i)
{
do();
}
您可能希望使用int.TryParse
代替int.Parse
来优雅地处理非数字输入。
答案 1 :(得分:0)
首先让您的价值回归int
。
int
属性。int.Parse
方法获取值:int.Parse(textBox.Text)
如果您使用值0-100
,则可以按原样使用与原始代码类似的内容。
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();
}
第一个更简单,所以我会选择它:)