C# 将十进制格式设置为次要货币

C# 将十进制格式设置为次要货币,c#,C#,我需要将十进制设置为次要货币,例如10.00应为1000 decimal currency = 10.00m; System.Console.WriteLine(currency.ToString("######")); 生成10,如何将小数点添加到该值?解决方案非常简单 * 100 我将创建一个这样的扩展方法,该方法将始终生成预期的结果,并具有所需的小数位数: public static class DecimalExtension { public static string F

我需要将十进制设置为次要货币,例如10.00应为1000

decimal currency = 10.00m;
System.Console.WriteLine(currency.ToString("######"));

生成10,如何将小数点添加到该值?

解决方案非常简单

* 100

我将创建一个这样的扩展方法,该方法将始终生成预期的结果,并具有所需的小数位数:

public static class DecimalExtension
{
    public static string FormatAsMinorCurrency(this decimal value) {
        var numberFormat = (NumberFormatInfo)CultureInfo.CurrentCulture.NumberFormat.Clone();
        numberFormat.CurrencyDecimalDigits = 2;
        numberFormat.CurrencyDecimalSeparator = ".";
        numberFormat.CurrencySymbol = "";
        numberFormat.CurrencyGroupSeparator = "";
        return value.ToString("c", numberFormat).Replace(".", "");
    }
}
结果是:

1.FormatAsMinorCurrency() 
100

10.FormatAsMinorCurrency()
1000

1000000.34102350915091M.FormatAsMinorCurrency()
100000034

好的,时间不早了,我应该想到的,你能把这个作为答案吗?这样我就可以标记一下了?