2011-10-12 116 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.