将文本框文本转换为 int - 即使在 TryParse() 之后也会出错
Convert textbox text to int - Error even after TryParse()
什么应该(希望)是一个简单的问题...
我有一个名为 updateChart() 的函数,其中程序从文本框 (txtBP) 中获取输入值,并尝试将其转换为整数以存储在局部变量 (latestReading) 中并用作图坐标.
我最初是这样尝试的:
int latestReading = Convert.ToInt32(txtBP.Text);
这导致 运行 次错误通知我 "Input string was not in the correct format"。经过一些研究,我了解到要将文本从文本框转换为 int,您应该使用 TryParse 方法。我试过这个方法:
int x = 0;
int latestReading = 0;
if (Int32.TryParse(txtBP.Text, out x))
{
latestReading = Convert.ToInt32(txtBP.Text);
}
else
{
MessageBox.Show("Invalid Reading!");
}
我确信这会起作用,但在测试时,即使我自己在文本框中输入值 1 也会导致它跳转到语句的 'else' 部分。我已经阅读了有关堆栈溢出的内容,但找不到类似的情况。
为了让大家知道,我已经开始工作了。
在单击按钮时调用 updateChart() 函数似乎是错误的,通过在单击按钮时已调用的函数中调用它,它似乎能够从文本框中访问数据。仍然不完全确定这是怎么发生的,但没有抱怨。
感谢大家的帮助!
马克
什么应该(希望)是一个简单的问题...
我有一个名为 updateChart() 的函数,其中程序从文本框 (txtBP) 中获取输入值,并尝试将其转换为整数以存储在局部变量 (latestReading) 中并用作图坐标.
我最初是这样尝试的:
int latestReading = Convert.ToInt32(txtBP.Text);
这导致 运行 次错误通知我 "Input string was not in the correct format"。经过一些研究,我了解到要将文本从文本框转换为 int,您应该使用 TryParse 方法。我试过这个方法:
int x = 0;
int latestReading = 0;
if (Int32.TryParse(txtBP.Text, out x))
{
latestReading = Convert.ToInt32(txtBP.Text);
}
else
{
MessageBox.Show("Invalid Reading!");
}
我确信这会起作用,但在测试时,即使我自己在文本框中输入值 1 也会导致它跳转到语句的 'else' 部分。我已经阅读了有关堆栈溢出的内容,但找不到类似的情况。
为了让大家知道,我已经开始工作了。
在单击按钮时调用 updateChart() 函数似乎是错误的,通过在单击按钮时已调用的函数中调用它,它似乎能够从文本框中访问数据。仍然不完全确定这是怎么发生的,但没有抱怨。
感谢大家的帮助!
马克