我打赌我看起来不太好,但我似乎找不到以下问题的答案:
我有一个 Datagrid,它将显示多个带有数字的列,有些列将超过千位,但我似乎无法让它显示小数分隔符,我将数字保存为十进制值,但它不会显示它。
感谢您花时间看我的问题:)
编辑:这是关于在 Windows 窗体的数据网格中显示它
尝试Format
在您的DataGridTextBoxColumn
. 您所追求的格式大概是"N0"
,它显示千位分隔符但没有小数位。
DataGridTextBoxColumn textColumn = new DataGridTextBoxColumn();
textColumn.HeaderText = "My Numbers";
textColumn.ReadOnly = true;
textColumn.Format = "N0";
text
编辑:如果您希望您的数字始终保持一致的格式,无论运行应用程序的机器的文化如何,那么您也应该设置FormatInfo
。
CultureInfo
用于计算机确定实际货币格式。您可以通过将属性设置为使用适当的文化 ID 构造的新实例来更改CultureInfo
for a 。DataGridTextBoxColumn
FormatInfo
CultureInfo
例如,如果您在德国并且总是希望千位分隔符显示为句点(例如12.345.678
)而不是逗号(例如12,345,678
),请使用:
textColumn.FormatInfo = new CultureInfo("de-DE");
您可以通过在启动时设置Application.CurrentCulture属性来更改整个应用程序的文化,从而获得更好的一致性。
对于 DataGridView,其 DataGridViewTextBoxColumn 没有 Format 属性,我们需要设置格式如下:
var col = new DataGridViewTextBoxColumn();
var colFormat = new DataGridViewCellStyle();
colFormat.Format = "N0";
col.DefaultCellStyle = colFormat;