[英]Converting entire string array to double array throws input format exception, but converting single elements works fine
我正在尝试将字符串数组(我从 .txt 文件填充)转换为 C# 中的双数组。
这是我尝试过的,使用 for 循环,我在其他解决方案中看到过。
string[] StringArr = File.ReadAllLines("256.txt");
double[] DoubleArr = new double[StringArr.Length];
for(int i = 0; i < StringArr.Length; i++)
{
DoubleArr[i] = Convert.ToDouble(StringArr[i]);
}
这引发了异常“System.FormatException:'输入字符串的格式不正确。” 为了
DoubleArr[i] = Convert.ToDouble(StringArr[i]);
我以为文本文件中的数据格式有问题,但是当我尝试
DoubleArr[0] = Convert.ToDouble(StringArr[0]);
Console.WriteLine(DoubleArr[0]);
这工作没有抛出异常,并打印了正确的数字。
我认为我一定对 for 循环做错了什么?
如果没有看到您的数据,您可能会遇到Incorrect decimal separator
的问题
不同的文化使用不同的小数点分隔符(例如,
和.
)
如果更换 . 有了,一切都会好的
或者你使用文化:
double.Parse("12.345", System.Globalization.CultureInfo.InvariantCulture)
此外,您可能有一个空值,这是一个不正确的双精度值
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.