一个C#文件流函数,它应该返回一组双坐标
本文关键字:一组 坐标 返回 文件 函数 一个 | 更新日期: 2024-09-20 07:56:56
我使用这个函数从文本文件中返回两个坐标和一个名称。一切都正常,但是当我试图在另一个函数中使用这些坐标时,我似乎得到了两个integers
而不是doubles
。下面是使用getter时的实际代码和输出。
输入文件示例:
delfshaven 51.9229006954, 4.43681055082
delfshaven 51.9229377766, 4.43726467466
代码:
public void ReadCoords(string path, string naam)
{
string line;
int endname;
int endfirstcoord;
int i;
string name;
string coord1;
string coord2;
double north, east;
var fileStream = new FileStream(path, FileMode.Open, FileAccess.Read);
using (StreamReader reader = new StreamReader(fileStream, Encoding.ASCII))
{
while (!reader.EndOfStream)
{
line = reader.ReadLine();
if (line != "")
{
i = 0;
while (line[i] != ' ')
{
i++;
}
endname = i;
name = line.Substring(0, i);
i++;
if (naam == name)
{
while (line[i] != ',')
{
i++;
}
endfirstcoord = i;
coord1 = line.Substring(endname + 1, i - 1 - (endname));
coord2 = line.Substring(i + 2, line.Length - (i + 2));
north = double.Parse(coord1);
east = double.Parse(coord2);
deelgemeente.Add(new PointLatLng(north, east));
}
}
}
}
}
输出:
{Lat=519226886783, Lng=443421830655}
{Lat=519227198819, Lng=443459846581}
{Lat=51922824973, Lng=443591425503}
{Lat=519228427681, Lng=443610117779}
{Lat=519229006954, Lng=443681055082}
提前谢谢。
感谢您的帮助。我搞定了。出现问题是因为我的本地笔记本电脑设置。它在给替身加弦时遇到了麻烦。
north = double.Parse(coord1, CultureInfo.InvariantCulture);
east = double.Parse(coord2, CultureInfo.InvariantCulture);
而不是
north = double.Parse(coord1);
east = double.Parse(coord2);
修复它。