2011-10-12 66 views
0

我想要的格式和值的列:比如我有19240我想它192.40我试过很多方法,但没有在列格式十进制值的datagridview

dgw.Grid.Columns["Sum"].DefaultCellStyle.Format="0:00" // 192:40 

dgw.Grid.Columns["Sum"].DefaultCellStyle.Format="n" // 19240.00 

dgw.Grid.Columns["Sum"].DefaultCellStyle.Format="0.00" // 19240.00 

dgw.Grid.Columns["Sum"].DefaultCellStyle.Format=string.Format("{0:0.##}") // Exception 

我想在该列中的所有项目一个办法做到这一点:格式相同

编辑数据网格视图

我用这个来梅索德得到我想要的

int _sum; 
    public int Sum 
    { 
     get { return _sum; } 
     set { _sum= value; } 
    } 

    public double SumAsdouble 
    { 
     get 
     { 
      if (_sum== 0) 
       return 0; 
      else 
       return Convert.ToDouble(_sum)/100; 

     } 
    } 

,我让隐藏的总和,并显示SumAsdouble

这项工作对我来说

回答

1

什么是单元格中的数值?

它看起来像是19240,这意味着将其格式化为2DP将返回19240.00,如您所见。如果你想要192.40,那么你首先需要除以100 - 你将无法使用字符串格式来做到这一点。

+0

值为int;那么唯一的方法是将其更改为十进制并将其除以100,然后在datagrid中设置项目? – Akrem

+0

@Akrem - 说实话,就我所见,这将是最明智的做法。 – Paddy

0

我假设你总是希望最后两位数字是十进制数字,而你的数字总是五位数字。然后你可以使用“000.00”或“%”作为格式字符串。或者,您可以将您的编号除以100.