ToString(“C”)在字符串前添加$符号.但我如何添加其他货币类型,如日元,俄罗斯卢布,印度卢比,瑞士弗兰克?
谢谢
解决方法:
您可以克隆当前文化并将货币符号修改为您想要的任何内容:
var culture = (CultureInfo)CultureInfo.CurrentCulture.Clone();
culture.NumberFormat.CurrencySymbol = "!"; // or "¥", etc.
var amount = 1000D;
Console.WriteLine(amount.ToString("C", culture));
输出“!1,000.00”.
简单地指定不同的文化作为其他答案建议将为用户意外地格式化数字.例如:
var amount = 1000D;
Console.WriteLine(amount.ToString("C", CultureInfo.CreateSpecificCulture("ru")));
Console.WriteLine(amount.ToString("C", CultureInfo.CreateSpecificCulture("id")));
这输出:
1 000,00 р.
Rp1.000
请注意,千位和小数分隔符与我期望使用“en-US”文化的情况大不相同!