我们有一个以基础货币存储数字(货币)的数据库,因此 21.30 英镑将在数据库中存储为 2130。我将如何将该数字转换为适用于所有文化的正确格式的货币?
2130 -> £21.30
2130 -> $21.30
等等
最佳答案
int valueFromDb = 2130;
decimal result = valueFromDb / 100m;
string formatted = result.ToString("c");
可以快速扩展方法化:
public static class CurrencyExtensions
{
public static string AsCurrency(this int value)
{
return value.AsCurrency(CultureInfo.CurrentCulture);
}
public static string AsCurrency(this int value, CultureInfo culture)
{
decimal result = value / 100m;
return result.ToString("c", culture);
}
}
现在您可以成为 DRYier:
int valueFromDb = 2130;
string formatted = valueFromDb.AsCurrency();
关于c# - 将整数转换为货币,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8913840/