我只想知道如何格式化字符串,如$ 100,000.00 我已经使用了一种拆分方法,但是当它有很多“,”时它就不起作用了。
答案 0 :(得分:1)
在格式化之前,您需要暂停它们。在格式化之后尝试对数字进行计算会被延迟,并且容易出错。特别是如果您的应用程序曾在不同的区域设置下使用,其中千位分隔符和小数点字符不是您期望的那样。
此外,请注意,String.Split
方法无论有多少“,”都可以正常工作,因此您的问题不是拆分方法,而是代码中的其他方法。
答案 1 :(得分: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 :(得分:0)
您可以在示例中使用解析方法的NumberStyles
枚举重载。 e.g。
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);
作为旁注,这不会导致错误的数字,如果您尝试格式化错误的字符串,则会抛出错误。
答案 3 :(得分:0)
如果您具体谈论货币,请查看此Convert any currency string to double
这个想法是使用NumberStyle
类。
希望这有帮助