我试图以km为单位获得距离并显示。但是,小数点后有12位数字。我希望在小数点后有空或2位数字。它显示4.539224078139681公里,我只想要4.53或4公里。怎么做? 我查了很多文章,但无法得到答案。无法显示小数点后只有1或空位
int Radius = 6371;// radius of earth in Km
double dLat = Math.toRadians(lat2 - lat1);
double dLon = Math.toRadians(lon2 - lon1);
double a = Math.sin(dLat/2) * Math.sin(dLat/2)
+ Math.cos(Math.toRadians(lat1))
* Math.cos(Math.toRadians(lat2)) * Math.sin(dLon/2)
* Math.sin(dLon/2);
double c = 2 * Math.asin(Math.sqrt(a));
double valueResult = Radius * c;
double km = valueResult/1;
DecimalFormat newFormat = new DecimalFormat("####");
int kmInDec = Integer.valueOf(newFormat.format(km));
double meter = valueResult % 1000;
int meterInDec = Integer.valueOf(newFormat.format(meter));
Log.i("Radius Value", "" + valueResult + " KM " + kmInDec
+ " Meter " + meterInDec);
return Radius * c;
}
我尝试过,但没有工作。 :( – Ankit
'double d = 1.23456; System.out.printf(“%。2f”,d);''打印'1,23'对我来说正确 –