将数据添加到DataGridView列时,如何格式化值?

时间:2011-08-04 17:06:35

标签: c# string-formatting

我有一行代码将值放入DataGridView列:

dataGridView1.Rows[r].Cells[2].Value = MBRHISTDETLDt.Rows[r].ItemArray[0];

进入的值是一个文本字段,如下所示:

"00001100914401"

我想将其格式化,以便在将其添加到列时看起来如下所示:

"110-09-144.01"

基本上,我想修剪所有前导零,并以### - ## - ##。格式保留剩余数字。##。

我想我可以使用String类的TrimStart()方法来删除前导零,但是我不确定一种简单的方法来格式化字符串的其余部分而不对其进行子串并插入破折号和句点。我希望有一种更简单的方法。任何建议将不胜感激!

谢谢!

1 个答案:

答案 0 :(得分:3)

试试这个:

String value = MBRHISTDETLDt.Rows[r].ItemArray[0].ToString(); 
value  = Regex.Replace(value.TrimStart('0'), @"^(\d{3})(\d{2})(\d{3})(\d*)$", "$1-$2-$3.$4");
dataGridView1.Rows[r].Cells[2].Value = value;