无法从'double'转换为'string' - > Listview子项目

时间:2016-10-13 13:23:32

标签: c# string visual-studio double

我真的很难过。此代码假设要解决总付款并将其放入小计TextBox,但当我尝试将其转换为double时(因为价格为decimals),这是它想出了什么。我试过int并没有遇到任何问题。

任何解决方案?

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;

1 个答案:

答案 0 :(得分:0)

为了说清楚,我将我的评论转换为答案并详细阐述了潜在的问题:

要明确:问题是编译错误,而不是运行时的异常。

原因如下:

lstvProds.Items[i]

Items []运算符重载了字符串和整数参数。整数版本返回第i个元素,字符串版本在列表中查找具有相同名称的匹配项。

这就是错误的原因:'我'是双倍的。与整数一起使用,一切都很好......

PS:将double解析为字符串可能导致完全不同的功能......