C#list中string转double

从文件中读取一个CSV文件并将其中的数据拿出计算,读取文件时是以字符串形式读取,计算其中的数据时需要将string转化为double类型计算。
CSV数据内容:
在这里插入图片描述
程序:

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Diagnostics;
namespace stadyIdent
{
    class Program
    {  
      static void Main(string[] args)
        {
            List<string[]> Temp = new List<string[]>();//定义一个List类,里面存放的是String[]数组;
            Temp = ReadCSV(@"C:\Users\user\Desktop\2.csv");//读取CSV表格中的数据;
            double[] Temp4 = new double[Temp.Count];//这里定义了一个数组,与表不同,数组在定义时需要先定义数组长度;
            List<double> Temp2 = new List<double>();//定义了一个double表,和数组类似;数据的存储和数组一样;
            List<double[]> Temp3 = new List<double[]>();//定义了一个double[]数组表;
            double average = 0.0;//算平均数;
            double num = 0.0;   //算总数; 
            double average1 = 0.0;//算平均数;
            double num1 = 0.0;   //算总数; 
            for (int i = 0; i < Temp.Count; i++)
            {
                Temp4[i] = Double.Parse(Temp[i][0]);//这里是将Temp中的值转化为double类型存储在数组中;
                Temp2.Add(Double.Parse(Temp[i][0]));//这里是直接将Temp中的string类型转化为double类型;
                                                    //这里需要注意的是,Temp是string[]类型的,需要定位到该元素的位置;
            }
            Temp3.Add(Temp2.ToArray());//这是将double表转化为double[]放入double[]表内,存储的长度是【1】【27】;
            Console.WriteLine("这是 List<double[]>Temp3 的数据");
            for (int i = 0; i < Temp.Count; i++)
            {
                
                Console.Write("{0}  ", Temp3[0][i]);
                num += Temp3[0][i];
            }
            average = num / (Temp.Count);
            Console.WriteLine(num);
            Console.WriteLine(average);
            Console.WriteLine("这是 double[]Temp4 的数据");
            for (int i = 0; i < Temp4.Length; i++)
            {
              
                Console.Write("{0}  ", Temp4[i]);
                num1 += Temp4[i];
            }
            average1 = num1 / (Temp4.Length);
            Console.WriteLine(num1);
            Console.WriteLine(average1);
        }
        public static List<string[]> ReadCSV(string strPathFile)
        {
            FileStream fs = new FileStream(strPathFile, FileMode.Open, FileAccess.Read);
            StreamReader Read = new StreamReader(fs, Encoding.Default);
            List<string[]> fTemp = new List<string[]>();
            string Ide = "";
            while (Ide != null)
            {
                Ide = Read.ReadLine();
                if (Ide != null && Ide.Length > 0)
                {

                    fTemp.Add(Ide.Split(','));
                }

            }
            Read.Close();
            return fTemp;
        }
        public static void WriteCSV(List<string[]> list, string strPathFile, bool append, string strSeperate)
        {
            StreamWriter stWrite = new StreamWriter(strPathFile, append, Encoding.Default);
            foreach (string[] ac in list)
            {
                stWrite.WriteLine(string.Join(strSeperate, ac));
            }
            stWrite.Close();


        }   }
}



运行结果图:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/DOUBLE121PIG/article/details/88966086