我正在开发Windows 8应用程序。我有一个列表框,显示单击的项目(SelectedIndex)的特定事物。
根据不同文本框中显示的文本,我为一个类创建一个新实例,该类获取信息并将其放入一个对象中。从那个对象我把不同的对象信息放到双变量中,我可以在屏幕上输出" toString()"方法。我每次想要添加"列表中的东西我希望数字相乘而不是文本字符串只是相互添加,例如:
totalWeight += double.Parse(tbx_TotalVikt.Text);
这里我希望totalWeight(它是一个双精度)是tbx_TotalVikt.Text中文本的解析版本。但我不断收到此错误消息:
类型' System.FormatException'的例外情况发生在mscorlib.dll中但未在用户代码中处理
其他信息:输入字符串的格式不正确。
答案 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。