如何使用$格式化DataGrid中的Money?

时间:2012-04-06 14:24:01

标签: c# .net

我想在DataGrid格式化货币值,以便以美元符号($)开头。

我该怎么做?

2 个答案:

答案 0 :(得分:3)

如果您正在谈论以货币格式显示数据,或者甚至只是在数据开头添加“$”以便

1.49

显示为

$ 1.49

然后你可以用几种方式做到这一点。在DataGrid控件(Web)上,您可以设置DataFormatString属性。

一个选项是在BoundColumn上为Currency设置为“c”。如果您的网络服务器CultureInfo设置为en-US

,这将有效
<asp:BoundColumn DataField="CurrencyValue" 
                 HeaderText="Price"
                 DataFormatString="{0:c}">

另一种选择是使用CustomFormatString,它可以更精确地控制它的显示方式。假设你总是希望它在小数点右边是三位数,左边是两位数,你可以使用

{0:$ 00.000}

有关数字自定义数据格式字符串的更多信息,请访问:http://msdn.microsoft.com/en-us/library/0c899ak8.aspx

由于您在WinForms中工作,(抱歉,我只是重新阅读了注释)您将使用相同的技术,但将其应用于列的DefaultCellStyle,如下所示:http://msdn.microsoft.com/en-us/library/f9x2790s.aspx

dataGridView1.Columns["UnitPrice"].DefaultCellStyle.Format = "c";

答案 1 :(得分:2)

此外,如果您要查找具有CultureInfo的特定于文化的单元格格式,则可以使用DataGridCellStyle的FormatProvider属性。在WinForms中:

dataGridView1.Columns["MoneyValue"].DefaultCellStyle.Format = "c";
dataGridView1.Columns["MoneyValue"].DefaultCellStyle.FormatProvider = 
System.Globalization.CultureInfo.CreateSpecificCulture("es-CO");