我有一个包含各种字符串的字典,包括带有美元符号的字符串数字。我想在一起添加两个标签,但显然是" $"不会解析。我正在尝试并抓住:
try
{
int total = 0;
total = int.Parse(priceLabel.Text) + int.Parse(totalLabel.Text);
totalLabel.Text = total.ToString();
}
catch
{
MessageBox.Show("Error");
}
我不确定如何让它工作,priceLabel是那个有" $" attacthed。
答案 0 :(得分:3)
简单的解决方案是用空字符替换$
:
total = int.Parse(priceLabel.Text.Replace("$", "")) + int.Parse(totalLabel.Text);
答案 1 :(得分:2)
你提到了一本字典,但你的例子只显示标签,所以我们只是以标签作为例子处理(无论字符串值的来源是什么,概念都是一样的。)
decimal
类型实际上有办法处理货币符号。您可以使用以下代码从字符串中获取数值。然后,如果您想要处理的类型(即,如果货币金额中没有小数),则可以将小数转换为结尾的int:
int total = (int)(decimal.Parse(priceLabel.Text, NumberStyles.Currency) +
decimal.Parse(totalLabel.Text, NumberStyles.Currency));
totalLabel.Text = total.ToString();