如何舍入经度和纬度值

时间:2016-03-17 22:34:47

标签: java android rounding

如何将这些经度和纬度值四舍五入到每个6位小数?

p1包含经度和纬度值,“latValue”和“longValue”分别包含各自的值。

p1 = new LatLng((float) (location.getLatitude()),
                    (float) (location.getLongitude()));

float latValue = (float) p1.latitude;
float longValue = (float) p1.longitude;

2 个答案:

答案 0 :(得分:2)

由于浮点值(即浮点数和双精度数)表示为二进制分数而不是小数分数,因此实际上没有任何方法可以将值四舍五入到存储值中的任何给定精度。 / p>

使用$("#select1 input:radio").change(function() { var optionValue = $(this).val(); console.log(optionValue); });

打印值时可以执行此操作

可以说,你可以使用类似下面的东西,但它会立即回到浮动状态,因此再次不精确:

String.format("%.6f", p1.latitude)

答案 1 :(得分:0)

使用 DecimalFormat

实施例

float myFloat = 3.123123123f;
DecimalFormat df = new DecimalFormat("#.######");
df.setRoundingMode(RoundingMode.CEILING);

System.out.println(df.format(myFloat));

在你的情况下

System.out.println(df.format(latValue));
System.out.println(df.format(lonValue));