输入字符串的 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));
有一点需要注意,打印的值是 , 而不是 。太过分了
当我有一个列表的总和时,我在从双精度到字符串的计算中遇到了问题。 更改语言设置后,我尝试使用 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));
有一点需要注意,打印的值是 , 而不是 。太过分了