我目前正在为安卓编写一些软件,它以GeoPoints的ArrayList格式获取全球定位系统数据,并将其写入到KML文件中。文件的其余部分创建正常,但是当gps数据以以下方式写入文件时:
for(int i=0; i < geoPoints.size(); i++){
writer.write(geoPoints.get(i).getLatitudeE6());
writer.write(", ");
writer.write(geoPoints.get(i).getLongitudeE6());
writer.write("\n");
}文件的输出是随机字符:
ꗺ, 繿
ꔚ, 练
鬅, 眑如果我更改循环以将其转换为字符串:
for(int i=0; i < geoPoints.size(); i++){
writer.write(Integer.toString(geoPoints.get(i).getLatitudeE6()));
writer.write(", ");
writer.write(Integer.toString(geoPoints.get(i).getLongitudeE6()));
writer.write("\n");
}那么输出几乎是正确的,但是没有小数位吗?
-45570790, 167608003
-45571713, 167608345
-45572973, 167606660有人能帮我找到那个讨厌的小数吗?
发布于 2011-02-18 03:25:03
E6的意思是后面的* 1E6,所以要让它看起来像-45.57vs -45570790,你需要除以1E6。
for(int i=0; i < geoPoints.size(); i++){
writer.write(Integer.toString(geoPoints.get(i).getLatitudeE6() / 1E6));
writer.write(", ");
writer.write(Integer.toString(geoPoints.get(i).getLongitudeE6() / 1E6));
writer.write("\n");
}https://stackoverflow.com/questions/5033304
复制相似问题