2

您好,我想知道每次进行一些更改时如何将单元格格式化为 2 个小数位。但我只需要格式化确切的列,所以我认为这可能有效:

private void dataGridView1_CellLeave(object sender, DataGridViewCellEventArgs e)
{
   dataGridView1.Columns[2].DefaultCellStyle.Format = "n2";
}

但它不会格式化单元格。为什么?

4

2 回答 2

1

您需要包含ValueType属性才能正确格式化它,因为默认情况下它是一种String数据类型。假设您想使其成为Decimal数据类型,那么您将拥有以下内容。

private void dataGridView1_CellLeave(object sender, DataGridViewCellEventArgs e)
{
  dataGridView1.Columns[2].DefaultCellStyle.Format = "N2";
  dataGridView1.Columns[2].ValueType = typeof(Decimal);
}
于 2013-11-09T11:19:18.510 回答
1

试试看 ..

dataGridView1.Rows[0].Cells[2].Value=double.Parse(dataGridView1.Rows[0].Cells[2].Value.ToString()).ToString("F",System.Globalization.CultureInfo.InvariantCulture);

这里

于 2013-11-09T10:35:56.357 回答