将数字转换为随机的百分比

本文关键字:百分比 随机 数字 转换 | 更新日期: 2023-09-27 18:13:36

我希望有一个选项来指定应该运行的频率,以百分比表示。

我有一个文本框,它用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来优雅地处理非数字输入。

首先将您的值返回到int

  • 在WPF中,这很容易,因为您只需绑定到int属性。
  • 在WinForms中,您使用int.Parse方法来获取值:int.Parse(textBox.Text)

如果您使用0-100的值,您可以使用类似于您的原始代码,按原样。

int value = int.Parse(textBox.Text);
if(rnd.Next(0, 100) < value)
{
    DoSomething();
}

否则,只需在开始值和结束值各加1:

int value = int.Parse(textBox.Text);
if(rnd.Next(1, 101) <= value)
{
    DoSomething();
}

第一个更简单,所以我就用它了:)