通过度数标志获得经度和纬度

时间:2017-02-07 21:29:50

标签: java formatting coordinates

我怎样才能获得像这样的度数符号的经度和纬度 40°42′51″

lattude = Location.convert(location.getLatitude(), Location.FORMAT_DEGREES);
txt5.setText(lattude);

这是我的代码,但它显示了这个:40.4251

1 个答案:

答案 0 :(得分:0)

Location.convert根据{{3}}返回包含双部分的字符串,因此最后没有度数符号。

如果你想进一步格式化你可以通过使用多重,模数和(int)转换来分割你的双倍(以获得你的分割双倍的整数部分)并为你的分裂分配正确的单位获得。这是一个混乱的快速草案:

double test = Double.parseDouble("40.4251d");
System.out.print((int)test + "°");
System.out.print(((int)(test * 100) % 100) + "'" );
System.out.print(((int)(test * 10000) % 100) + "''" );

Output: 40°42'51''

您还可以使用标记Location.FORMAT_DEGREES,Location.FORMAT_MINUTES和Location.FORMAT_SECONDS,但您仍然必须摆脱给定转化结果中的格式分隔符。

希望这有帮助!