C#将文本框输入转换为Int [重复]

Posted

技术标签:

【中文标题】C#将文本框输入转换为Int [重复]【英文标题】:C# Convert Textbox Input to Int [duplicate] 【发布时间】:2011-07-23 05:17:08 【问题描述】:

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

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

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

【问题讨论】:

【参考方案1】:
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

【讨论】:

【参考方案2】:
int orderID = 0;

orderID = Int32.Parse(txtOrderID.Text);

【讨论】:

【参考方案3】:

使用Int32.Parse 或Int32.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 之间的差异更加微妙,并且通常与特定于文化的解析问题有关。基本上是如何解释负数、小数和千位分隔符。

【讨论】:

【参考方案4】:

如果这是 WinForms,您可以使用 NumericUpDown 控件。如果这是网络表单,我会使用 Int32.TryParse 方法以及输入框上的客户端数字过滤器。

【讨论】:

【参考方案5】:
int temp;

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

【讨论】:

【参考方案6】:

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

【讨论】:

以上是关于C#将文本框输入转换为Int [重复]的主要内容,如果未能解决你的问题,请参考以下文章

无法将文本框的输入限制为数字 C# [重复]

将 Int 转换为分钟并在文本框中显示 swift 3

如何将文本框文本拆分为列表框 C#

C#限制文本框输入

c#中如何判断文本框中是不是是数字(包括小数)

WPF C#如何将文本框输入验证为日期格式