【问题标题】:Convert.ToInt32(String) in C# not working?C# 中的 Convert.ToInt32(String) 不起作用?
【发布时间】:2013-08-23 04:25:56
【问题描述】:

我有一个名为textBox1 的文本框,在某种情况下,我想将文本框中的字符串转换为整数,以便以后用作整数。

它抛出了一个我什至无法理解的错误。这是截图:

(每个请求)代码是:

this.textBox1.Text = string.Concat(Int.Where(c => Char.IsNumber(c)));
this.textBox1.Text = Convert.ToInt32(this.textBox1.Text);

如果您能给我一个答案或修复我的代码,并解释它为什么不起作用/不起作用,我将不胜感激。

【问题讨论】:

    标签: c# string int type-conversion


    【解决方案1】:

    Convert.ToInt32 在设计上将返回一个整数,而不是字符串。

    如果您只是将结果存储回文本框中,则根本没有理由将其转换为数字而只是将其转换回字符串。

    这真的只有在你想这样做的时候才有用:

    int value = Convert.ToInt32(this.textBox1.Text);
    

    话虽如此,您可能想改用Int32.TryParse。这允许您检查格式错误,而不是在用户键入不适当的值时引发异常。

    【讨论】:

    • 啊,我看到了我的错误。我试图将字符串设置为整数。结果输出到什么并不重要,只需要转换即可。另外,我将如何使用Int32.TryParse?只使用 try-catch 方法?
    • 要使用 Int32.TryParse,你可以这样做int i; Int32.TryParse(textBox1.Text,i); 如果它有效,我将把 textBox1.Text 设置为 int。
    猜你喜欢
    • 1970-01-01
    • 2013-01-28
    • 2022-12-17
    • 1970-01-01
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-11
    相关资源
    最近更新 更多