5

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

我怎样才能做到这一点?

4

2 回答 2

3

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

1.49

显示为

1.49 美元

那么你可以通过几种方式做到这一点。在 DataGrid 控件 (web) 上,您可以设置DataFormatString属性。

一种选择是将其设置为“c”以表示 BoundColumn 上的货币。如果您的 Web 服务器的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/库/f9x2790s.aspx

dataGridView1.Columns["UnitPrice"].DefaultCellStyle.Format = "c";
于 2012-04-09T14:26:25.707 回答
2

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

dataGridView1.Columns["MoneyValue"].DefaultCellStyle.Format = "c";
dataGridView1.Columns["MoneyValue"].DefaultCellStyle.FormatProvider = 
System.Globalization.CultureInfo.CreateSpecificCulture("es-CO");
于 2014-02-01T02:53:44.610 回答