C# 无法从';双倍';至';字符串'-&燃气轮机;列表视图子项

C# 无法从';双倍';至';字符串'-&燃气轮机;列表视图子项,c#,string,visual-studio,double,C#,String,Visual Studio,Double,我真的很难受。假设此代码计算总付款,并将其放入小计文本框,但当我尝试将其转换为双倍(因为价格有小数),这就是它得出的结果。我试过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 + Conver

我真的很难受。假设此代码计算总付款,并将其放入小计
文本框
,但当我尝试将其转换为
双倍
(因为价格有
小数
),这就是它得出的结果。我试过
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;
double i=0;
双j=0;
双k=0;
i=0;
j=0;
k=0;
尝试
{
j=lstvProds.Items.Count;

对于(i=0;i,为了清楚起见,我将我的评论转化为一个答案,并详细阐述了潜在的问题:

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

原因如下:

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

这就是错误的原因:“i”是一个双精度。与整数一起使用,一切都很好


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

oops抱歉!这就是为什么我被声明为double的原因了?尝试使用int作为我的类型…会尝试的!@Philip这个问题不是唯一的。请阅读并分享您的研究。这只是意味着对于
i
的某些值,
lstvProds.Items[i]。子项[4] .Text
将返回一个无法解析为double的值。请参阅示例。如果该值不能回答您的问题,则您的问题将包括一个包含此代码失败的输入的值。编辑:好的,重新打开,问题是
ListView.Items.Item[string]
索引器正在为带有
double
的调用解决…这就是ListView的问题:所有内容都是字符串,您需要代码将其转换回(并填充每个单元格)。使用DataGridView,您可以保留数据类型