我想通过设置DefaultCellStyle
将200000显示为200.000dgrTonKho.Columns["xtkTTN"].DefaultCellStyle.Format = "0,.###";
但是当它发送时就像200一样,在分隔符被移除后全部为零,我不知道为什么
答案 0 :(得分:3)
试试这个:
dgrTonKho.Columns["xtkTTN"].DefaultCellStyle.Format = "#,0.###";
来自MSDN:
千位分隔符说明符:如果有一个或多个','字符 在两个数字占位符(0或#)之间指定格式化 数字的整数,插入组分隔符 在输出的整数部分中的每个数字组之间。
千位分隔符必须位于两位数占位符之间
答案 1 :(得分:1)
您可以动态解析单元格值
this.dgrTonKho.CellFormatting += new DataGridViewCellFormattingEventHandler(dgrTonKho_CellFormatting);
添加cellformatting事件并尝试动态解析单元格值,它将完成工作
void dgrTonKho_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
{
if (e.ColumnIndex == 0 && e.RowIndex != this.dgrTonKho.NewRowIndex)
{
double d = double.Parse(e.Value.ToString());
e.Value = d.ToString("0.00##");
}
}