当我试图解析Double时,我得到一个FormatException
本文关键字:FormatException 一个 Double | 更新日期: 2023-09-27 18:04:15
我正在做一个Windows 8应用程序。我有一个列表框,显示被单击的项目的特定内容(SelectedIndex)。
基于显示在不同文本框中的文本,我为一个类创建了一个新的实例,该实例获取信息并将其放入对象中。从该对象中,我将不同的对象信息放入双变量中,可以使用"toString()"方法在屏幕上输出。每次我想向列表中"添加"一些东西时我希望数字相乘而不是文本字符串相互添加例如:
totalWeight += double.Parse(tbx_TotalVikt.Text);
这里我希望totalWeight(这是一个双精度)是在tbx_TotalVikt.Text文本的解析版本。但是我一直得到这个错误信息:
类型为'System '的异常。格式异常'在mscorlib.dll中发生,但未在用户代码中处理
附加信息:输入字符串格式不正确。
最佳实践是在解析数字时提供格式提供程序作为第二个参数。
double.Parse("1.254", CultureInfo.InvariantCulture.NumberFormat)
如果您确定这不是问题所在,那么您正在向Parse
方法提供垃圾,并且应该在调试器中检查您的输入。
我修好了。
double item = 0;
if(double.TryParse(tbx_TotalVikt.Text, out item))
{
totalWeight += item;
}
tbx_TotalVikt.Text = totalWeight.ToString();
使用TryParse检查文本是否是双精度。