【问题标题】:I can't convert string to int我无法将字符串转换为 int
【发布时间】:2020-12-12 07:04:33
【问题描述】:

我正在制作一个可以自动解决某种数学问题的 Visual Studio 程序。然后我一直无法从窗口形式的文本框中转换文本。所以我尝试了在谷歌中找到的所有方法将字符串转换为 int,但仍然无法正常工作。所以我在这里寻找解决方案,但我不知道为什么会出现这种情况

三个文本框分别命名为coefficient_of_absolute、x_coefficient、constant。 这是我的代码的一部分,应该将文本框的文本转换为数字

MessageBox.Show(coefficient_of_absolute.Text);
MessageBox.Show(coefficient_of_absolute.Text.GetType().ToString());
int coa_int = Convert.ToInt32(coefficient_of_absolute.Text);

一个消息框显示文本为 1,另一个显示文本类型为字符串 但是这个程序说输入字符串格式错误

这段文字是撒旦。它偷走了我10多个小时的生命。请帮帮我

编辑)

MessageBox.Show(coefficient_of_absolute.Text);
MessageBox.Show(coefficient_of_absolute.Text.GetType().ToString());
int coa_int = int.Parse(coefficient_of_absolute.Text);

没用

MessageBox.Show(coefficient_of_absolute.Text);
MessageBox.Show(coefficient_of_absolute.Text.GetType().ToString());
int output;
int.TryParse(coefficient_of_absolute.Text, out output);
MessageBox.Show(output.ToString());

无论它是什么,这都会使 num 归零

enter image description here

MessageBox.Show(coefficient_of_absolute.Text.Length.ToString());

绕过文本显示文本长度为 1,这意味着它周围没有任何内容

【问题讨论】:

  • 你试过int.Parse吗?并将您的错误消息(当您收到时)上传到问题中。
  • 那个“1”周围有空格吗?
  • 你确定错误不在其他行吗?
  • 我试过'int.Parse',图像是我得到的错误消息
  • “1”周围没有空格,而且程序转换的地方肯定会出现该错误消息

标签: c# type-conversion


【解决方案1】:

您可以尝试 TryParse 而不是 Convert.ToInt32 ,这样您就可以检查是否捕获了异常。

    int outputNumber;
    bool res = int.TryParse(text1, out outputNumber);
    if (res == false)
    {
        // String is not a number.
    }

【讨论】:

    【解决方案2】:
            string textBoxString = textBox1.Text.ToString();
            int textBoxInt = int.Parse(textBoxString);
            int test = textBoxInt + 1;
            string testText = test.ToString();
            MessageBox.Show(testText);
    

    先把变量转成字符串再转成int解决了这个问题

    【讨论】:

      猜你喜欢
      • 2018-05-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-28
      相关资源
      最近更新 更多