格式化字符串值datagridview c#

格式化字符串值datagridview c#,c#,winforms,datagridview,format,datagridviewcellstyle,C#,Winforms,Datagridview,Format,Datagridviewcellstyle,我希望在datagridview中格式化一个值。 这些值是一个包含十进制数的字符串。(如“3000” 我想用一千个分隔符(空格)来显示它,比如:“3000” 我知道可以通过使用“N2”等格式指定defaultcellstyle的格式来完成。例如,这适用于十进制列类型,但 我在datagridview中使用字符串列类型来处理一些异常(显示“-”而不是“0”以简化用户视图) 我尝试了不同的单元格样式格式,但在显示中没有任何更改 我是否需要更改datagridview的列类型,或者不需要太多代码就可以

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

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

我尝试了不同的单元格样式格式,但在显示中没有任何更改

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

谢谢大家的回复


Tristan

我只是让它按我预期的那样工作。我先做了注释,它只是显示了错误,所以我尝试了第二种(最简单的)不注释的方法

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;

尝试该事件。我正在尝试,目前无法使其按我预期的方式工作。您必须发布代码。单击您的帖子下方的编辑链接。我刚刚使其按我预期的方式工作。我将使用正确的代码完成我的问题。很好。我将尝试此操作。