c# - 如何在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);
}
}
解决方案
为了节省您为不同国家/地区解析的小数点分隔符,请使用固定的文化,如下所示:
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();
推荐阅读
- c++ - 使用 getline() 时编译错误:“类型不匹配”
- javascript - 使用相同组件编辑和添加数据的最佳方法。将组件状态与 redux 存储混合
- reactjs - Create-React-App:.env 文件无法正确解析
- python - PySide:QAbstractItemModel - 访问项目的 QLineEdit
- c++ - 将向量映射到特定范围
- python - FancyArrowPatch 不绘制标签
- c++ - 刽子手游戏的验证问题
- powershell - TPM 和私钥保护
- javascript - Vue无效的主机头
- node.js - Firebase 身份验证与云 sql 混合