我希望在datagridview中格式化一个值。 这些值是包含十进制数的字符串。 (比如“3000” 我希望用千位分隔符(空格)显示它,如下所示:“3,000”。
我知道可以通过使用像“N2”这样的格式指定defaultcellstyle的格式来完成,这适用于十进制列类型但是 我在datagridview中使用字符串列类型来处理一些异常(显示“ - ”而不是“0”以简化用户视图)
我尝试了不同的单元格样式格式,并且在显示中没有任何变化。
我需要更改datagridview的列类型,还是可以在没有太多代码的情况下完成?
感谢所有回复,
特里斯坦
答案 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;