格式化字符串值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;
我想在 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;