我正在开发 Windows 8 应用程序。我有一个列表框,显示单击的项目的特定内容(SelectedIndex)。
根据不同文本框中显示的文本,我为一个类创建一个新实例,该类获取信息并将它们放入一个对象中。从该对象中,我将不同的对象信息放入双变量中,我可以使用“toString()”方法在屏幕上输出这些变量。每次我想向列表“添加”某些内容时,我希望数字相乘,而不是文本字符串只是相互相加,例如:
totalWeight += double.Parse(tbx_TotalVikt.Text);
这里我希望totalWeight(双精度值)是tbx_TotalVikt.Text 中文本的解析版本。但我不断收到此错误消息:
mscorlib.dll 中发生“System.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 来查看文本是否为双精度。