更改DataGridView的数字列中的数字组分隔符

本文关键字:数字 分隔符 更改 DataGridView | 更新日期: 2023-09-27 18:06:05

我想以这种方式格式化数字单元格1 231 241.45。我已经尝试过N2格式选项:

datagridview1.Columns["col1"].DefaultCellStyle.Format = "N2";

但是N2格式用逗号代替空格。我想要空格作为数字组分隔符。是否可以更改数字组分隔符?

更改DataGridView的数字列中的数字组分隔符

我设法使其工作与以下代码:

string NRFormat="### ### ##0.00"
datagridview1.Columns["col1"].DefaultCellStyle.Format = NRFormat;
datagridview1.Columns["col2"].DefaultCellStyle.Format = NRFormat;

要更改DataGridView中的数字组分隔符,可以创建特定的区域性,然后将其NumberFormat.NumberGroupSeparator设置为新值,然后将DataGridViewDefaultCellStyle.FormatProvider设置为修改后的区域性:

var culture = CultureInfo.CreateSpecificCulture("en-GB");
culture.NumberFormat.NumberGroupSeparator = " ";
dataGridView1.DefaultCellStyle.FormatProvider = culture;
dataGridView1.Columns[1].DefaultCellStyle.Format = "N2";

请参考此链接了解单元格样式格式>>

http://msdn.microsoft.com/en-us/library/dwhawy9k.aspx

this.dgv_PreviewGrid.DefaultCellStyle.Format = "D4";

D表示整数

你可以试试这个

//1000001 convert to 1 000 001.00
datagridview1.Columns["col1"].DefaultCellStyle.Format = "### ### ##0.00";
//1000 convert to 1 000.00
datagridview1.Columns["col2"].DefaultCellStyle.Format = "### ### ##0.00"; 

在数据网格CellFormatting事件中执行以下操作:

private void dg_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
    if (cell.Value is decimal)
    {
        e.CellStyle.Format = "0.##";
    }
}