1
我想根據一個單元格的值計算百分比到另一個單元格的值。數據是這樣的,只有更大,但這個想法是一樣的:DataGridView無效鑄造異常
c1 c2 c3 tot
r1 1 0 3 4
r2 1 2 1 4
r3 0 0 1 1
tot 2 2 5
所有在任一單元格的值只有永遠的整數。我試圖創建一個表,看起來像這樣:
c1 c2 c3
r1 0.25 0 0.75
r2 0.25 0.50 0.25
r3 0 0 1
我不需要幫助創建表 - 其實我可以創建表 - 我只是不能得到正確的鑄造爲了用正確的(百分比)數據填充表格。我有以下代碼:
for (int i = 7; i < 12; i++)
{
for (int j = 0; j < 7; j++)
{
double hold1 = (double)gridHolder.Rows[i - 7].Cells[j + 1].Value;
double hold2 = (double)gridHolder.Rows[i - 7].Cells[8].Value;
gridHolder.Rows[i].Cells[j + 1].Value = hold1/hold2;
}
}
gridHolder
是表的名稱,在情況下並不明顯。
當我運行它,我得到這個異常:
An unhandled exception of type 'System.InvalidCastException' occurred in PCHG Simulator.exe
Additional information: Specified cast is not valid.
如何將單元格的內容轉換成decimal
或double
,這樣的劃分將是一個小數結果呢?如果你還可以解釋如何將結果格式化爲2位小數,那會很好,但我相信我可以解決這個問題。
編輯:我不知道這是值得注意的,但是,如果我投的int
每個:
int hold1 = (int)gridHolder.Rows[i - 7].Cells[j + 1].Value;
int hold2 = (int)gridHolder.Rows[i - 7].Cells[8].Value;
它工作得很好,除了爲師成爲整數明顯的問題分而不是十進制除法。所以問題很明顯,我試圖用雙倍的方法。
哈哈哇。我希望這是一個簡單的改變!謝謝!! :d – Matt 2013-04-25 04:56:42