首页 > 解决方案 > 如何在c#中从文件中读取十进制值

问题描述

我正在尝试从文件中读取十进制值,但它给了我错误:输入字符串的格式不正确我编写的代码是:

void Start()
{
    fileName = "assets/names.txt";
   
    myFilePath = fileName;

    namesArray = File.ReadAllLines(myFilePath);
    DisplayAllStudents();
    

}
void DisplayAllStudents()
{
  
    System.Array.Sort(namesArray);
    foreach (string line in namesArray)
    {
        string[] field = line.Split(',');
       
        
        createSphere(field);
   
    }
}
       
    

标签: c#unity3d

解决方案


为了节省您为不同国家/地区解析的小数点分隔符,请使用固定的文化,如下所示:

System.Globalization.CultureInfo c = System.Globalization.CultureInfo.CreateSpecificCulture("en-us");
double[] field2 = field.Select(f => { double d; if (double.TryParse(f, System.Globalization.NumberStyles.Number, c, out d)) { return d; } else { return 0; }}).ToArray();

推荐阅读