十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
public static double geo_distance(double lat1, double lng1, double lat2,
我们提供的服务有:做网站、网站设计、微信公众号开发、网站优化、网站认证、涧西ssl等。为成百上千家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的涧西网站制作公司
double lng2) {
// earth's mean radius in KM
double r = 6378.137;
lat1 = Math.toRadians(lat1);
lng1 = Math.toRadians(lng1);
lat2 = Math.toRadians(lat2);
lng2 = Math.toRadians(lng2);
double d1 = Math.abs(lat1 - lat2);
double d2 = Math.abs(lng1 - lng2);
double p = Math.pow(Math.sin(d1 / 2), 2) + Math.cos(lat1)
* Math.cos(lat2) * Math.pow(Math.sin(d2 / 2), 2);
double dis = r * 2 * Math.asin(Math.sqrt(p));
return dis;
}
public static double geo_distance(double lat1, double lng1, double lat2,
double lng2) {
// earth's mean radius in KM
double r = 6378.137;
lat1 = Math.toRadians(lat1);
lng1 = Math.toRadians(lng1);
lat2 = Math.toRadians(lat2);
lng2 = Math.toRadians(lng2);
double d1 = Math.abs(lat1 - lat2);
double d2 = Math.abs(lng1 - lng2);
double p = Math.pow(Math.sin(d1 / 2), 2) + Math.cos(lat1)
* Math.cos(lat2) * Math.pow(Math.sin(d2 / 2), 2);
double dis = r * 2 * Math.asin(Math.sqrt(p));
return dis;
}
private int dist = 789;
private double dis = 0;
//你的距离数据应该不是写死的吧,如果你是从服务器获取的距离数据,可能是String,赋值给//distance时候就要强制类型转换(Integer),然后再执行以下四舍五入
dis = Math.round(dist/100d)/10d;
disText.setText(dis+"公里")
//System.out.println("距离:"+disText);
/**写的可能不规范,但就是这个意思,应该是你正在做的东西**/
public Conversion{
public static void main(String[] args){
if(args.length != 2){
System.out.println("参数不对,第一个参数指明是千米还是英里,第二个参数指明数量");
exit(0);
}
Integer number = null;
try{
number = new Integer(args[1]);
catch(NumberFormatException e){
System.out.println("第二个参数必须是数字");
exit(0);
}
if("千米".equals(args[0])){
number = new Integer(number.intValue()*0.6214);
}else if("英里".equals(args[1])){
number = new Integer(number.intValue()*1.609);
}else{
System.out.println("第一个参数不对");
exit(0);
}
System.out.println("转换结果为:"+number.intValue());
}
}