WinForms从浮点转换为字符串,输入字符串格式不正确
我正在尝试将浮点值转换为字符串以显示在文本框中。 但是当我把这个值赋给textbox时,我得到了一个异常“输入字符串的格式不正确” 我试图在messagebox中显示此字符串,结果显示。但对文本框文本的赋值失败WinForms从浮点转换为字符串,输入字符串格式不正确,winforms,visual-c++,clr,Winforms,Visual C++,Clr,我正在尝试将浮点值转换为字符串以显示在文本框中。 但是当我把这个值赋给textbox时,我得到了一个异常“输入字符串的格式不正确” 我试图在messagebox中显示此字符串,结果显示。但对文本框文本的赋值失败 property float Distance { float get(){return float::Parse(txtDist->Text);} void set(float value)
property float Distance
{
float get(){return float::Parse(txtDist->Text);}
void set(float value)
{
String^ str = String::Format("{0:0.00}",value);
MessageBox::Show(str);//success
txtDist->Text = str;//Exception
}
}
请格式化文本框的文本属性。我正在用C#格式编写一个示例代码。您可以将其转换为所需的格式
textBox1.Text = string.Format("0:0.00", someNumber);
我认为以下内容适用于您的情况:
txtDist->Text = String::Format("{0:0.00}",value);
这种异常通常发生在解析时,而不是像您所说的那样将值赋给文本框时。除非您对该文本框进行了验证,该文本框无法识别该值并引发该异常。是这样吗?我在textbox上有一个TextChanged事件,因此得到了异常。因此,您解决了问题?是的,我删除了TextChanged事件,它解决了问题。