0

可能重复:
文本框为空时 C++ Windows 窗体应用程序未处理异常错误

我正在 Visual Studio 中为 C++ 课程构建温度转换应用程序。这是一个 Windows 窗体应用程序,我编写的代码如下。当然还有其他代码,但我不确定你是否需要它来帮助我。

我的问题是,当我运行应用程序时,如果我没有在 txtFahrenheit 或 txtCelsius2 文本框中输入任何内容,我会收到以下错误:

“在 mscorlib.dll 中发生了“System.FormatException”类型的未处理异常”

只有在两个文本框中都输入了数字时,该应用程序才能立即运行。

private: System::Void btnFtoC_Click(System::Object^  sender, System::EventArgs^  e) 
             {               
                // Convert the input in the Fahrenheit textbox to a double datatype named fahrenheit for manipulation
                double fahrenheit = Convert::ToDouble(txtFahrenheit->Text);
                // Set the result string to F * (5/9) -32
                double result = fahrenheit * .5556 - 32;
                // Set the Celsius text box to display the result string
                txtCelsius->Text = result.ToString();
             }

private: System::Void btnCtoF_Click(System::Object^  sender, System::EventArgs^  e) 
             {
                // Convert the input in the Celsius textbox to a double datatype name celsius for manipulation
                double celsius = Convert::ToDouble(txtCelsius2->Text);
                // Set the result2 string to C * (9/5) + 32
                double result2 = celsius * 1.8 + 32;
                // Set the Fahrenheit text box to display the result2 string
                txtFahrenheit2->Text = result2.ToString();
             }
4

1 回答 1

2

您不能将空字符串转换为Double.

您应该使用if语句来代替执行其他操作。

于 2012-09-30T14:57:07.943 回答