将字符串从文本框转换为双精度在 C# 中不起作用



好的,所以我对这个问题感到非常困惑,我不知道如何解决它。 这是代码,我看不出我做错了什么:

private void btnFormule_Click(object sender, EventArgs e)
{
double NumberA;
NumberA = double.Parse(txtA.Text);
}

如果我做 convert.todouble((,它也做同样的事情。 但奇怪的是,不久前当我这样做时它没有给出错误,所以我不知道发生了什么。

当我尝试它时,它给出了错误"System.FormatException:输入字符串的格式不正确"(它被翻译了,所以它不是确切的错误(。 如果有人有解决这个问题的方法,那将真正有所帮助

你应该使用double.TryParseCultureInfo的组合

private void btnFormule_Click(object sender, EventArgs e)
{
if(double.TryParse( textA.Text,NumberStyles.Any, CultureInfo.CurrentCulture, out double NumberA);
{
//Manage the valid parsing;
}
else
{
//Manage the not valid parsing
}

}

最新更新