当我试图解析Double时,我得到一个FormatException

时间:2014-05-19 12:47:19

标签: c# xaml windows-8

我正在开发Windows 8应用程序。我有一个列表框,显示单击的项目(SelectedIndex)的特定事物。

根据不同文本框中显示的文本,我为一个类创建一个新实例,该类获取信息并将其放入一个对象中。从那个对象我把不同的对象信息放到双变量中,我可以在屏幕上输出" toString()"方法。我每次想要添加"列表中的东西我希望数字相乘而不是文本字符串只是相互添加,例如:

 totalWeight += double.Parse(tbx_TotalVikt.Text);

这里我希望totalWeight(它是一个双精度)是tbx_TotalVikt.Text中文本的解析版本。但我不断收到此错误消息:

类型' System.FormatException'的例外情况发生在mscorlib.dll中但未在用户代码中处理

其他信息:输入字符串的格式不正确。

2 个答案:

答案 0 :(得分:2)

在解析数字时,提供格式提供程序作为第二个参数的最佳做法。

double.Parse("1.254", CultureInfo.InvariantCulture.NumberFormat)

如果您确定这不是问题,那么您正在向Parse方法提供垃圾,并应在调试器中调查您的输入。

答案 1 :(得分:0)

我修好了。

double item = 0;
if(double.TryParse(tbx_TotalVikt.Text, out item))
            {
                totalWeight += item;
            }
tbx_TotalVikt.Text = totalWeight.ToString();

使用TryParse查看文本是否为double。