您好,我想知道每次进行一些更改时如何将单元格格式化为 2 个小数位。但我只需要格式化确切的列,所以我认为这可能有效:
private void dataGridView1_CellLeave(object sender, DataGridViewCellEventArgs e)
{
dataGridView1.Columns[2].DefaultCellStyle.Format = "n2";
}
但它不会格式化单元格。为什么?
您好,我想知道每次进行一些更改时如何将单元格格式化为 2 个小数位。但我只需要格式化确切的列,所以我认为这可能有效:
private void dataGridView1_CellLeave(object sender, DataGridViewCellEventArgs e)
{
dataGridView1.Columns[2].DefaultCellStyle.Format = "n2";
}
但它不会格式化单元格。为什么?
您需要包含ValueType
属性才能正确格式化它,因为默认情况下它是一种String
数据类型。假设您想使其成为Decimal
数据类型,那么您将拥有以下内容。
private void dataGridView1_CellLeave(object sender, DataGridViewCellEventArgs e)
{
dataGridView1.Columns[2].DefaultCellStyle.Format = "N2";
dataGridView1.Columns[2].ValueType = typeof(Decimal);
}
试试看 ..
dataGridView1.Rows[0].Cells[2].Value=double.Parse(dataGridView1.Rows[0].Cells[2].Value.ToString()).ToString("F",System.Globalization.CultureInfo.InvariantCulture);
从这里