为DataGridView列使用自定义货币符号
本文关键字:自定义 货币 符号 DataGridView | 更新日期: 2023-09-27 17:49:33
我想格式化一个显示货币值的DataGridView列,但是我想使用一个自定义的货币前缀,该前缀目前没有任何文化定义。我希望我的值看起来像这样:
Mn. 2,300.00
Mn. 40,259.22
Mn. 6.33
Mn. 2,000,203.19
显然,Mn.
是我想要添加的前缀。除了这个自定义之外,值本身的格式与任何其他货币一样(即小数点后2位,每3位数字后面有逗号等)
(这个自我回答之前是由问题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";
上面将在该DataGridView
中格式化名为"Base Selling Price"
的列,以使用自定义符号'Mn.'
表示货币。希望这对其他人也有用。这要归功于Jason Whitted的回答
您需要管理自己的NumberFormatInfo
对象,它包含一个CurrencySymbol
属性。你可以把这个对象传递给decimal.ToString()
方法。
var format = (NumberFormatInfo)NumberFormatInfo.CurrentInfo.Clone();
format.CurrencySymbol = "Mn. ";
var amount = 12345.67m;
Console.WriteLine(amount.ToString("C", format));