格式化字符串值datagridview c#

Format string value datagridview c#

我想在 datagridview 中设置一个值的格式。 这些值是一个包含十进制数的字符串。 (比如“3000” 我想用千位分隔符 (space) 显示它,像这样:"3,000".

我知道这可以通过使用像 "N2" 这样的格式分配 defaultcellstyle 的格式来完成,例如,这适用于 decimal 列类型但是 我在我的数据网格视图中使用字符串列类型来处理一些异常(显示“-”而不是“0”以简化用户视图)

我尝试了不同的单元格样式格式,但显示没有任何变化。

我是否需要更改我的 datagridview 的列类型,或者不需要太多代码就可以完成?

感谢大家的回复,

特里斯坦

我刚刚让它按预期工作。我先做了评论的事情,它只是显示错误,所以我尝试了第二种没有评论的方式(最简单的)。

string value = cell.Value.ToString();
//NumberFormatInfo nfi =(NumberFormatInfo)CultureInfo.InvariantCulture.NumberFormat.Clone();
//nfi.NumberGroupSeparator = " ";
//string formatted = double.Parse(value).ToString("n", nfi);
//cell.Value = formatted.Replace(".00","");// 12 345.00
string formatted = double.Parse(value).ToString("# ### ###");
cell.Value = formatted;