簡體   English   中英

將小數點格式設置為次要貨幣

[英]Format a decimal to a minor currency

我需要將小數格式化為次要貨幣,例如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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM