计算两个地方之间的距离;两个纬度和经度也使用此链接当您知道 java 中的经度和纬度时,以米为单位计算距离
我得到的结果是米,比如 2.4737676E-5,这也是一个浮点值。
我想只取十进制后的前两个值。但是使用十进制格式和字符串格式,我也无法得到预期的结果,例如(2.47)。它仅以 0.00 的形式出现。
> float meanwhiledist=distFrom(latti,longii,curlat,curlongi);
> DecimalFormat df2 = new DecimalFormat( "#.00");
> double dd2dec = new Double(df2.format(meanwhiledist));
or
Double dd = Double.valueOf(meanwhiledist);
String angleFormated = String.format("%.2f", dd);
if i print angleformated and dd2dec my result coming as 0.00
2.4737676E-5 的值似乎小于您的预期:
float ff= 2.4737676E-5f;
System.out.println("float value: "+ff);
Double dd=Double.valueOf(ff);
System.out.println("double value: "+dd);
BigDecimal test=new BigDecimal(dd);
System.out.println("big decimal value: "+test);
String angleFormatted=test.toString();
System.out.println("String value: "+angleFormatted);
输出:
float value: 2.4737676E-5
double value: 2.4737675630603917E-5
big decimal value: 0.000024737675630603916943073272705078125
String value: 0.000024737675630603916943073272705078125
您得到的输出实际上是正确的,因为它从 0.000 返回前 2 位小数.....