【问题标题】:Format string value datagridview c#格式化字符串值datagridview c#
【发布时间】:2017-03-14 17:13:25
【问题描述】:

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

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

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

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

感谢大家的回复,

特里斯坦

【问题讨论】:

  • 试试CellFormatting 事件。
  • 我正在尝试,暂时无法按我的预期工作。
  • 您必须发布您的代码。点击帖子下方的编辑链接。
  • 我只是让它按预期工作。我会用正确的代码回答我的问题。

标签: c# winforms datagridview format datagridviewcellstyle


【解决方案1】:

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

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;

【讨论】:

  • 不错。会试试这个。
猜你喜欢
  • 2021-05-09
  • 2016-10-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-18
  • 2022-07-05
  • 2011-02-05
相关资源
最近更新 更多