2012-01-12 34 views
1

我只是想知道如何总量格式化的字符串,比如$ 100,000.00 伊夫使用拆分方法,但它不工作很多时候“”是有..如何将格式化的字符串转换回其原始值?

+0

让我明白:你有一个像这样的字符串,你需要获得int数量? – Marco 2012-01-12 14:14:01

+0

如果它“已解决”,则应单击对解决问题最有帮助的答案旁边的空白复选标记,而不是将“[已解决]”添加到标题中。 – 2012-01-12 15:32:32

+0

对不起,我只是在这里新...我习惯于论坛:笑 – 2012-01-12 15:34:14

回答

0

您可以在示例中使用解析方法的NumberStyles枚举重载。例如

string money1 = "$100,000.00"; 
string money2 = "$300,500.00"; 
Double unformattedMoney = Double.Parse(money1, System.Globalization.NumberStyles.Any); 
Double unformattedMoney2 = Double.Parse(money2, System.Globalization.NumberStyles.Any); 

Console.WriteLine(unformattedMoney + unformattedMoney2); 

作为一个侧面说明,这并不能解释不正确的数字,如果你试图格式化错误的字符串会抛出一个错误。

0
decimal moneyvalue = 1921.39m; 
string html = String.Format("Order Total: {0:C}", moneyvalue); 
Console.WriteLine(html); 

输出如下:

订单总额:$ 1,921.39

或许

String.Format("{0:#,###}", bigNumber); 
+2

我认为他想恢复过程中找回原来的号码 – Will 2012-01-12 14:13:55

+0

@愿意..也许 – 2012-01-12 14:14:50

1

在格式化之前,您需要先保留它们。试图在之后对数字执行计算,它们已被格式化,并且极易出错。特别是如果您的应用程序曾经在不同的语言环境下使用,千位分隔符和小数点字符不是您所期望的。

此外,请注意,无论有多少“,”,String.Split方法都能正常工作,所以您的问题不是分割方法,而是代码中的其他内容。

相关问题