c# – 如何在数字前添加货币符号?

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”文化的情况大不相同!

上一篇:php – 存储汇率的地点和方式?


下一篇:java – 获取没有Locale常量的国家/地区的货币格式