[英]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.