我写了一个函数,它给出了PHP和Java中的差异输出。请帮我在PHP中获取相同的输出。下面是用这两种语言编写的函数。PHP不支持double
功能在Java中:
public String getLat(String v_str, String strNS){
try
{
double lat = Integer.parseInt(v_str.substring(0, 2));
//System.out.println("lat="+lat);
double lat2 = Float.parseFloat(v_str.substring(2));
lat2 = lat2*10000;
lat2 = lat2/60*10000;
lat2 = lat2/100000000;
//System.out.println("lat2="+lat2);
lat += lat2;
if(strNS.equals("S"))
return ("-"+lat);
else
return (""+lat);
}
catch(Exception e){}
return ("");
}
电话:getLat("5224.09960","N");
输出:
$deg_coord = '5224.09960';
$lat = (int)(substr($deg_coord,0,2));
$lat2 = (substr($deg_coord,2));
$lat2 = $lat2*10000;
$lat2 = $lat2/60*10000;
$lat2 = $lat2/100000000;
echo $lat += $lat2;
exit;
输出:52.40166
52.40165999730428
功能10
使用'Double.parseDouble( str)'而不是'double lat = Integer.parseInt(“11.4”); double lat2 = Float.parseFloat(“11.2”);' – 2011-05-04 10:03:06
我想在PHP中输出相同的输出结果 – Jimit 2011-05-04 10:03:54
尝试'printf(“%。16f”,$ lat)'而不是'echo' ... – 2011-05-04 10:06:17