2014-07-22 17 views
0

所以我不知道這是可以解決,但基本上我有一個數據表的單元格是雙打的,其中許多延伸到很多的精度。我的困境是這個數據表綁定到一個數據網格視圖控件,而這個高精度對於用戶在數據網格視圖中看到沒有用處。有什麼方法可以截斷數據網格視圖中顯示的值,而不會丟失它所綁定的數據表中的精度?本質上,我希望用戶在數據網格視圖中看到像4.477976 ...這樣的雙精度型爲4.48,但要保留其在數據表類中操作的原始值。感謝您的幫助。截斷datagridview單元格爲有效數字,同時保持datatable值相同

回答

1

只需更改該列的CellStyle格式。例如:

// doubleValueDataGridViewTextBoxColumn with precision = 2 
    // 
    this.doubleValueDataGridViewTextBoxColumn.DataPropertyName = "Double_Value_Data"; 
    dataGridViewCellStyle2.Format = "N2"; 
    dataGridViewCellStyle2.NullValue = null; 
    this.doubleValueDataGridViewTextBoxColumn.DefaultCellStyle = dataGridViewCellStyle2; 
    this.doubleValueDataGridViewTextBoxColumn.HeaderText = "Double_Value_Data"; 
    this.doubleValueDataGridViewTextBoxColumn.Name = "doubleValueDataGridViewTextBoxColumn"; 

如果使用Visual Studio並且您有一個靜態綁定控件,您也可以在設計器中執行此操作。

0

我寧願這種格式的字符串。如果您選擇N2,那麼像4這樣的值將被格式化爲4.00。

我有這個問題,因爲像站號這樣的信息以相同的精度類型(如測量數據)存儲在數據庫中。

但是,如果您選擇如下所示的格式字符串,像4這樣的值將保持爲4,但像4.000000這樣的值將被格式化爲4.000。

For Each column As DataGridViewColumn In dgv.Columns 
    If column.ValueType = GetType(Double) Then 
     column.DefaultCellStyle.Format = "0.####" 
    End If 
Next 
相關問題