删除6位数后的纬度和经度分数部分

时间:2012-05-15 11:31:58

标签: android latitude-longitude

我以这种格式获得拉特和长期

Latitude23.132679999999997,Longitude72.20081833333333

但我希望采用这种格式

纬度= 23.132680,经度72.200818

我该如何转换

6 个答案:

答案 0 :(得分:6)

double Latitude = 23.132679999999997;
int precision =  Math.pow(10, 6);
double new_Latitude = double((int)(precision * Latitude))/precision;

这将只给出小数点后的6位数。

答案 1 :(得分:3)

double d=23.132679999999997;
DecimalFormat dFormat = new DecimalFormat("#.######"); 

d= Double.valueOf(dFormat .format(d));

答案 2 :(得分:2)

一旦我解决了这个问题 -

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

返回值是字符串。因此,如果需要字符串结果,可以使用它。

如果您需要加倍,可以使用Double.parseDouble()方法转换。

答案 3 :(得分:1)

所以你想要round a double to an arbitrary number of digits,不是吗?

答案 4 :(得分:0)

可以像

一样使用
DecimalFormat df = new DecimalFormat("#,###,##0.00");
System.out.println(df.format(364565.14343));

答案 5 :(得分:0)

如果您将纬度和经度作为字符串,则可以执行

latitude = latitude.substring(0,latitude.indexOf(".")+6);

当然你应该检查“。”后面至少有6个字符。通过检查字符串长度