输入字符串的 SUM 格式不正确

Input string was not in a correct format with SUM

当我有一个列表的总和时,我在从双精度到字符串的计算中遇到了问题。 更改语言设置后,我尝试使用 InvariantCulture,但未能成功。有人对如何处理这个有任何提示吗?

代码如下:

List<string> Moms_F = new List<string>();
double tot_Moms_F = Moms_F.Sum(x => Convert.ToDouble(x));
AssignControls(GetControls(wordDoc, "tot_Moms_F"), tot_Moms_F.ToString());

我尝试的是

            CultureInfo ci;

            ci = (CultureInfo)CultureInfo.InvariantCulture.Clone();
            ci.NumberFormat.NumberDecimalSeparator = ".";
            ci.NumberFormat.NumberGroupSeparator = ".";

然后添加

double tot_Moms_F = Moms_F.Sum(x => Convert.ToDouble(ci));

但是我得到了错误: 无法将类型 'System.Globalization.CultureInfo' 的对象转换为类型 'System.IConvertible'。

有没有人有好主意?

如果有人偶然发现这个问题并遇到同样的问题,可以这样解决:

CultureInfo ci = (CultureInfo)CultureInfo.CurrentCulture.Clone();
                ci.NumberFormat.CurrencyDecimalSeparator = ".";
float tot_Moms_F = Moms_F.Sum(x => float.Parse(x,NumberStyles.Any, ci));

有一点需要注意,打印的值是 , 而不是 。太过分了