次のシナリオがあります。小数値は通貨として表示する必要がありますが、適切な通貨記号と記号を含める必要があります。したがって、次のようになります。
- -45.23 は -£45.23 と表示されます
- 45.23 は +£45.23 と表示されます
通貨記号はSystem.Globalization.CultureInfo.CurrentCulture.NumberFormat.CurrencySymbol
. 私はこれを持っていますが、記号と通貨記号を入れ替える方法が見つかりません:
string s1 = string.Format(@"{1}{0:+#,##0.00;-#,##0.00}", 45.09M,
System.Globalization.CultureInfo.CurrentCulture.NumberFormat.CurrencySymbol);
Console.WriteLine(s2);
string s2 = string.Format(@"{1}{0:+#,##0.00;-#,##0.00}", -45.09M,
System.Globalization.CultureInfo.CurrentCulture.NumberFormat.CurrencySymbol);
Console.WriteLine(s2);
出力:
£+45.09
£-45.09
私が欲しい:
+£45.09
-£45.09
アップデート
誰かがプロパティに関する別の回答を投稿しましたNumberFormatInfo.CurrencyPositivePattern
が、これは有望に見えましたが、Microsoft はNumberFormatInfo.CurrencyNegativePattern
プロパティに負の記号を表示するためのさまざまなオプションが含まれている可能性を見落としていたようです。ただし、 にNumberFormatInfo.CurrencyPositivePattern
は正符号を含めるオプションが含まれていません。くそ。それについて言及したが、コメントを削除した人に感謝します。それにもかかわらず、私は誰かを学びました。