WinForms从浮点转换为字符串,输入字符串格式不正确

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)

我正在尝试将浮点值转换为字符串以显示在文本框中。 但是当我把这个值赋给textbox时,我得到了一个异常“输入字符串的格式不正确”

我试图在messagebox中显示此字符串,结果显示。但对文本框文本的赋值失败

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事件,它解决了问题。