当我试图解析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时,我得到一个FormatException

最佳实践是在解析数字时提供格式提供程序作为第二个参数。

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检查文本是否是双精度。