C#将文本框输入转换为Int

时间:2011-03-25 20:50:53

标签: c# string text

  

可能重复:
  How can I convert String to Int?

我有一个用户可以输入数字的文本框,有没有办法将其转换为int?因为我想将它插入只接受int。

的数据库字段

tryParse方法似乎不起作用,仍会抛出异常。

6 个答案:

答案 0 :(得分:10)

使用Int32.ParseInt32.TryParse或您可以使用System.Convert.ToInt32

int intValue = 0;
if(!Int32.TryParse(yourTextBox.Text, out intValue))
{
    // handle the situation when the value in the text box couldn't be converted to int
}

Parse和TryParse之间的区别非常明显。后者优雅地失败,而另一个将抛出异常,如果它不能将字符串解析为整数。但Int32.Parse和System.Convert.ToInt32之间的差异更为微妙,通常与特定于文化的解析问题有关。基本上如何解释负数和分数和千位分隔符。

答案 1 :(得分:2)

int temp;

if (int.TryParse(TextBox1.Text, out temp))
   // Good to go
else
   // display an error

答案 2 :(得分:1)

您可以使用Int32.Parse(myTextBox.text)

答案 3 :(得分:1)

如果这是WinForms,则可以使用NumericUpDown控件。如果这是webforms,我会在输入框中使用Int32.TryParse方法和客户端数字过滤器。

答案 4 :(得分:1)

int orderID = 0;

orderID = Int32.Parse(txtOrderID.Text);

答案 5 :(得分:0)

private void txtAnswer_KeyPress(object sender, KeyPressEventArgs e)
    {
        if (bNumeric && e.KeyChar > 31 && (e.KeyChar < '0' || e.KeyChar > '9'))
        {
            e.Handled = true;
        }
    }

来源:http://www.monkeycancode.com/c-force-textbox-to-only-enter-number