c# - 将整数转换为货币

标签 c# string-formatting currency

我们有一个以基础货币存储数字(货币)的数据库,因此 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/

相关文章:

mysql - 加密货币 MySQL 数据类型 ?

ios - 如何快速将ISO 4217代码转换为货币代码

ios - 如何让用户选择在 iOS 应用程序中使用的货币?

c# - Selenium 与 C# SQL Server 连接

wpf - 通过使用样式修改文本框文本绑定(bind)的参数

c# - 在 C# 中实现复杂数字格式的最佳方法

python - Pandas:在字符串列中填充占位符

c# - 如何以编程方式告诉 Windows 任务栏打开(或关闭)给定的工具栏?

c# - 从 Socket AsyncCallback 访问 UI 线程

c# - 如何使用 c#/jquery/javascript/silverlight 生成两个或多个不同设计图 block 的可能排列?