0

金額の値を表示するDataGridView列をフォーマットしたいのですが、現在どのカルチャでも定義されていないカスタム通貨プレフィックスを使用したいと思います。私の値を次のようにしたいと思います。

Mn. 2,300.00
Mn. 40,259.22
Mn. 6.33
Mn. 2,000,203.19

明らかに、Mn.私が追加したいプレフィックスです。このカスタマイズを除いて、値自体は他の通貨と同じようにフォーマットされます(つまり、小数点以下2桁、3桁ごとのコンマなど)。

4

2 に答える 2

4

(この自己回答は、以前に質問OPによって質問の編集として投稿されました。コンテンツは、この回答に移行されました。)

var format = (NumberFormatInfo)NumberFormatInfo.CurrentInfo.Clone();  
format.CurrencySymbol = "Mn. ";  
qBDDataGridView.Columns["Base Selling Price"].DefaultCellStyle.FormatProvider = format;  
qBDDataGridView.Columns["Base Selling Price"].DefaultCellStyle.Format = "c";  

上記は、通貨のカスタムシンボルを使用するために、"Base Selling Price"その中で名前が付けられた列をフォーマットします。これが他の人にも役立つことを願っています。クレジットは、 私(質問OP)を正しい方向に導いたJasonWhittedによる回答に当てはまります。DataGridView'Mn.'

于 2018-05-24T10:12:14.943 に答える
2

NumberFormatInfoプロパティを含む独自のオブジェクトを管理する必要がありCurrencySymbolます。このオブジェクトをdecimal.ToString()メソッドに渡すことができます。

var format = (NumberFormatInfo)NumberFormatInfo.CurrentInfo.Clone();
format.CurrencySymbol = "Mn. ";
var amount = 12345.67m;
Console.WriteLine(amount.ToString("C", format));
于 2012-12-23T19:39:39.010 に答える