当我尝试解析 Double 时遇到 FormatException

问题描述 投票:0回答:2

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

根据不同文本框中显示的文本,我为一个类创建一个新实例,该类获取信息并将它们放入一个对象中。从该对象中,我将不同的对象信息放入双变量中,我可以使用“toString()”方法在屏幕上输出这些变量。每次我想向列表“添加”某些内容时,我希望数字相乘,而不是文本字符串只是相互相加,例如:

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

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

mscorlib.dll 中发生“System.FormatException”类型的异常,但未在用户代码中处理

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

c# xaml windows-8
2个回答
2
投票

解析数字时最好提供格式提供程序作为第二个参数。

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

如果您确定这不是问题,那么您正在向

Parse
方法提供垃圾,并且应该调查您在调试器中的输入。


0
投票

我修好了。

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

使用 TryParse 来查看文本是否为双精度。

© www.soinside.com 2019 - 2024. All rights reserved.