Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java中JSON数据的7位精度Lat和Lon坐标_Java_Json_Double_Latitude Longitude_Precision - Fatal编程技术网

Java中JSON数据的7位精度Lat和Lon坐标

Java中JSON数据的7位精度Lat和Lon坐标,java,json,double,latitude-longitude,precision,Java,Json,Double,Latitude Longitude,Precision,我需要使用lat/lon坐标,如下所示:12.4840299,41.8506791;精度为7位,适用于室内环境 但当我从JSON中提取它时,我用这种方式生成了一个Double: lat = Double.parseDouble(tmp.getString(0)); lon = Double.parseDouble(tmp.getString(1)); 我得到了这个结果(tmp是一个包含lat/lon的JSONObject): lat=12.484046 lon=41.85063; 精度仅为5/

我需要使用lat/lon坐标,如下所示:12.4840299,41.8506791;精度为7位,适用于室内环境

但当我从JSON中提取它时,我用这种方式生成了一个Double:

lat = Double.parseDouble(tmp.getString(0));
lon = Double.parseDouble(tmp.getString(1));
我得到了这个结果(tmp是一个包含lat/lon的JSONObject): lat=12.484046 lon=41.85063; 精度仅为5/6位

如何以最大的精度从JSON中提取所有完整的lat/lon

先谢谢你


已解决:是我用来截断值的库。

Um,12.484046有8位精度,41.85063有7位精度。。。然而,我怀疑这只是你如何看待结果的问题。我会在这里使用
BigDecimal
,或者将所有值乘以1e7,从
String
double
的转换对于你提供的值来说效果很好。问题一定在别处。特别是,
System.out.println(Double.parseDouble(“12.4840299”)
为我打印出
12.4840299
。(请记住,NSLog和调试器将显示“舍入”浮点值——基本上,当数字在较短的一个ULP范围内时,舍入,并且在任何情况下很少显示超过6个小数位数。实际数字是正确的。)