仔细检查此帖子中的代码
Converting textbox string to float?
试图在评论中留下我的问题,但不允许这样做... 总结就像有两个文本框,从第一个获取数据,做某事,然后将结果返回到第二个。
String^ i1 = Textbox1->Text;
float rez = (float)(Convert::ToDouble(i1)*4);
Textbox2->Text = rez.ToString();
除非Textbox1
本身有一个浮点数,否则它的效果非常好(更新。它适用于' 65',但不适用于' 65.5&# 39)。
试图执行该代码 - 粉碎程序
> Calc.exe!Calc::Form1::Button0_Click(System::Object^ sender = 0x01b29c58, System::EventArgs^ e = 0x01b45e40) Line 123 + 0x30 byte C++
答案 0 :(得分:1)
使用ToDouble(String)方法相当于将值传递给Double.Parse(String)方法。通过使用当前线程文化的格式约定来解释值。
所以,你需要
抓住可能的例外情况
try {
float rez = (float)(Convert::ToDouble(i1)*4);
}
catch (FormatException) {
// handle format error exception here
}
catch (OverflowException) {
// handle overflow exception here
}