c#在带有小数分隔符的datagrid中显示数字

时间:2012-05-05 22:01:10

标签: c# winforms datagrid decimal

我打赌我看起来不太好但我似乎无法找到以下问题的答案:

我有一个Datagrid,它会显示多个带数字的列,有些会高于千,但我似乎无法显示小数点分隔符,我将数字保存为十进制值,但它不会显示它。

感谢您抽出宝贵时间查看我的问题:)

编辑:这是关于在Windows窗体的数据网格中显示它

2 个答案:

答案 0 :(得分:2)

尝试在DataGridTextBoxColumn上设置Format属性。你想要的格式大概是"N0",它显示千位分隔符,但没有小数位。

 DataGridTextBoxColumn textColumn = new DataGridTextBoxColumn();
 textColumn.HeaderText = "My Numbers";
 textColumn.ReadOnly = true;
 textColumn.Format = "N0";
 text

编辑:如果您希望数字始终一致地格式化,无论运行应用程序的计算机的文化如何,那么您也应该设置FormatInfo。 / p>

  

计算机的CultureInfo用于确定实际的货币格式。您可以通过将FormatInfo属性设置为使用适当的区域性ID构建的新CultureInfo实例来更改DataGridTextBoxColumn的{​​{1}}。

例如,如果您在德国并且始终希望千位分隔符显示为句点(例如CultureInfo)而不是逗号(例如12.345.678),请使用:

12,345,678

通过在启动时设置Application.CurrentCulture属性来更改整个应用程序的文化,可以实现更好的一致性。

答案 1 :(得分:0)

对于其DataGridViewTextBoxColumn不具有Format属性的DataGridView,我们需要将格式设置为:

var col = new DataGridViewTextBoxColumn();
var colFormat = new DataGridViewCellStyle();
colFormat.Format = "N0";
col.DefaultCellStyle = colFormat;