【问题标题】:Converting from string to int? [duplicate]从字符串转换为int? [复制]
【发布时间】:2014-01-23 12:33:38
【问题描述】:

我刚开始编写代码,我正在考虑制作一个简单的高/低游戏。 我有一个随机的起始编号,并在单击“更高”或“更低”按钮时设置了一个新编号。不过我想说的是......

如果该人单击较高的按钮:如果NewNumberLbl 大于round1numberlbl。然后做点什么。事情是我得到了不能说的问题

If {NewNumberLbl.Text > Round1NumberLbl.Text}
{}

因为我收到了错误:

错误 1 ​​运算符“>”不能应用于“字符串”和“字符串”类型的操作数

那么我该如何解决这个问题并将其变成 int 类型?

Ps 我试图创建新的 int,将它们与随机数方法中的 int 相关联,然后改为调用它们?

帮助!

public Round1()
{
    InitializeComponent();
    RandomNumber(0, 12);
    NewNumberLbl.Visible = true;
}

public void RandomNumber(int min, int max)
{
    int num = new Random().Next(min, max);
    Round1NumberLbl.Text = num.ToString();
}

public void RandomNumber2(int min, int max)
{
    int num2 = new Random().Next(min, max);
    NewNumberLbl.Text = num2.ToString();
}

private void Round1HBtn_Click(object sender, EventArgs e)
{
    //RandomNumber2(0, 12);
    //if (newNumber >= originalNumber) 
    //{

    //}
}

【问题讨论】:

  • 您是在认真告诉我您无法在 Google(或 StackOverflow)上查找此内容吗?
  • 小提示:使用 int 等数字数据类型,使用 等运算符比较值。此外,让您的方法返回一个 int 而不是 void 并使用该结果。此外,您的两种方法几乎相同。尝试只使用一个。

标签: c#


【解决方案1】:

将字符串转换为int:

int i;
if (int.TryParse("1234", out i){
    //ok
}

【讨论】:

  • 我喜欢使用 TryParse,因为它增加了一些防御,以防字符串包含数字以外的字符。我在我的答案中发布了一个很好的 MSDN 参考,OP 应该阅读和消化。 +1 为第一个回答同伴。
【解决方案2】:

你可以使用:

Convert.ToInt32(myString);

或:

int myOut;
int.TryParse(myString, out myOut);

如果您尝试转换 int 中不可解析的内容,第一个将引发异常。

如果转换不成功,第二个会返回0

【讨论】:

    【解决方案3】:

    http://msdn.microsoft.com/en-us/library/bb397679.aspx 尝试这个:- Convert.ToInt32(输入);

    例子:

    if (Convert.ToInt32(LblnewNumber.Text) >= Convert.ToInt32(LbloriginalNumber.Text)) 
            {
    
            }
    

    【讨论】:

      【解决方案4】:

      int.Parse(NewNumberLbl.Text);

      但是,您应该确保标签有一个数字,而不是其他字符。

      【讨论】:

        【解决方案5】:
        string text = "500";
        int num = int.Parse(text);
        

        这应该可行。您可以使用 TryParse 来检查“文本”是否有效

        【讨论】:

          猜你喜欢
          • 2013-11-12
          • 2012-07-04
          • 2011-06-18
          • 2011-11-26
          • 2014-01-25
          • 2010-09-17
          • 1970-01-01
          • 1970-01-01
          • 2020-07-27
          相关资源
          最近更新 更多