c#string转换成double 报输入字符串的格式不正确

之所以想这么做是想把100%转换成double进行sum计算

“100%”这种字符串怎么可能转换成double类型,肯定会报错的,你需要做些其他操作才能正确转换,如下

            string dd = "100%";
            double tmp = double.Parse(dd.Replace("%", ""));
            tmp = tmp/100;

追问

那怎么实现后台sum统计的计算呢

追答            string dd = "100%";
            double tmp = double.Parse(dd.Replace("%", ""));
            tmp = tmp/100;
            List<double> lis = new List<double>();
            lis.Add(tmp);//将所有转换过来的数字保存到List集合里面
            var d = lis.Sum(l => l);//调用List集合的sum方法得到统计结果

追问

我是想把

实现后台sum统计的计算呢

这是datagrid的显示百分比的一列,统计

追答

那你得先把datagrid里头的100.00%取出来,再用我刚才的方式处理就行了

追问

这个是我写的不知道哪里错误了,导致最后不显示

追答

我晕 你这样怎么能sum!你得把那一列所有单元格中的值都取出来才行

追问

怎么取所有单元格中的值

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-03-06
double.TryParse()

里面放一个默认值。。

表示 如果你的string不能转换为double 表示是一个不正确的格式 那么就会以你定义的默认值返回
第2个回答  2014-03-06
double.Parse()或者convert吧
相似回答