2016-10-13 49 views
-1

我真的很難與此。此代碼假設要解決總付款並將其納入小計TextBox,但是當我嘗試將其轉換爲double(因爲價格爲decimals)時,這就是它的結果。我試過int,它沒有任何問題。無法從'double'轉換爲'string' - > Listview子項

任何解決方案?

double i = 0; 
double j = 0; 
double k = 0; 
i = 0; 
j = 0; 
k = 0; 

try 
{ 
    j = lstvProds.Items.Count; 
    for (i = 0; i <= j - 1; i++) 
    { 
     k = k + Convert.ToDouble(lstvProds.Items[i].SubItems[4].Text); 
    } 

    //double l = Convert.ToDouble(k); 

} 

catch (Exception ex) 
{ 
    MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); 
} 
return k; 
+0

哎呀抱歉!它現在在那裏 – Sam

+1

爲什麼我聲明爲double?嘗試使用int作爲我的類型... –

+0

將嘗試! @菲利普 – Sam

回答

0

只是爲了說清楚,我在我的評論轉換爲答案,並闡述了潛在的問題:

需要明確的是:這個問題是一個編譯錯誤,而不是運行時異常。

其原因是如下部分:

lstvProds.Items[i] 

的項目[]操作符被重載用一個字符串和一個整數參數。整數版本返回第i個元素,字符串版本將在列表中查找具有相同名稱的匹配項目。

這就是錯誤的原因:'我'是一個雙。使用一個整數,一切都很好...

PS:解析雙重字符串可能會導致完全不同的功能...

相關問題