如何获取当前文化格式的数字货币

时间:2019-05-21 12:50:44

标签: c# globalization cultureinfo currency-formatting

使用以下方式,可以获取当前文化的2位数货币。 distance = 0.5 * size / tan(0.5 * fov) 得到的结果为:string.Format(CultureInfo.CurrentCulture, "{0:C2}", amount)

我们如何使用如下所示的美元或欧元之类的货币符号获取货币

预期结果:$1,000.00

1 个答案:

答案 0 :(得分:2)

这可以使用RegionInfo类来实现:

decimal amount = 1000m;

CultureInfo culture = CultureInfo.CurrentCulture;
RegionInfo region = RegionInfo.CurrentRegion; //or new RegionInfo(...)
string formattedCurrency = string.Format(CultureInfo.CurrentCulture, "{0:C2} {1}", amount, region.ISOCurrencySymbol);  

在上面的代码中,formattedCurrency的字符串值为"$1,000.00 USD"

如果您不希望使用任何货币符号,则可以执行类似Replace(culture.NumberFormat.CurrencySymbol, "")的操作,也可以使用N指示符代替C。两者都得出"1,000.00 USD"的值(与我所在的地区/文化有关)。 此问题解决了该特定主题:Format a double value like currency but without the currency sign (C#)
请注意,接受的答案(使用N)似乎在所有文化中都不友好。