格式化字符串值datagridview c#

时间:2017-03-14 17:13:26

标签: c# winforms datagridview format datagridviewcellstyle

我希望在datagridview中格式化一个值。 这些值是包含十进制数的字符串。 (比如“3000” 我希望用千位分隔符(空格)显示它,如下所示:“3,000”。

我知道可以通过使用像“N2”这样的格式指定defaultcellstyle的格式来完成,这适用于十进制列类型但是 我在datagridview中使用字符串列类型来处理一些异常(显示“ - ”而不是“0”以简化用户视图)

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

我需要更改datagridview的列类型,还是可以在没有太多代码的情况下完成?

感谢所有回复,

特里斯坦

1 个答案:

答案 0 :(得分:0)

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

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;