繁体   English   中英

将数字的字符串数组转换为双精度数组

[英]Converting a string array of numbers to a double array

我有一个包含所有数字的字符串数组,我需要将其转换为双精度,以便以后可以使用它进行处理,我需要执行以下操作。

 static void Main(string[] args)
    {
        string[] String = File.ReadAllLines("../Program/Files/Numbers.txt");
        double[] Double = String;
    }

我已经尝试过使用for循环逐行转换它,但是我尝试过的所有操作都会给我一个错误:

无法将类型'string'隐式转换为'double'

我对C#编码很陌生,我不知道其他任何方式。 我认为这应该很简单,但我希望我不能显得不太愚蠢。

非常感谢任何人都可以给予的帮助:)

使用Linq尝试此操作。

static void Main(string[] args)
    {
        string[] StringNumbers = File.ReadAllLines("../Program/Files/Numbers.txt");
        double[] Double = StringNumbers.ToList().ConvertAll(x=>Convert.ToDouble(x)).ToArray();
    }

Convert.ToDouble :将数字的指定字符串表示形式转换为等效的双精度浮点数。 更多信息在这里

使用double.Parse()

var myDouble = double.Parse("27.89");

https://msdn.microsoft.com/zh-cn/library/system.double.parse%28v=vs.110%29.aspx

所有内置数字类型均具有解析函数,可从字符串转换为

您需要遍历一个循环来分别分配每个条目。 假设文件的每一行都是它自己的数据条目,这应该不是很难做到的。 否则,您可以搜索String.Split()方法以了解如何分解它。 一个例子可能看起来像这样:

string[] fileLines = File.ReadAllLines("../Program/Files/Numbers.txt");
double[] fileDouble = new double[fileLines.Length];
for(int i=0; i < fileLines.Length ; i++){
    Double.TryParse(fileLines[i], out fileDouble[i]);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM