0

10.00 を 1000 にするなど、小数をマイナー通貨にフォーマットする必要があります。

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

10 を生成します。これに小数点を追加するにはどうすればよいですか?

4

2 に答える 2

1

解決策は次のように簡単です

* 100
于 2012-09-25T09:53:11.047 に答える
0

必要な小数点以下の桁数で、常に期待される結果を生成する次のような拡張メソッドを作成します。

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
于 2012-09-25T13:40:42.903 に答える