以度格式转换纬度和经度值Java Android
我有一个sqllite数据库,其中的纬度和经度值存储如下以度格式转换纬度和经度值Java Android,java,android,Java,Android,我有一个sqllite数据库,其中的纬度和经度值存储如下 -281344383 -299752871 一分为二。出于教育目的,我反编译了一个应用程序,从中我得到了这个数据库和一个函数,它将这个值转换为纬度和经度格式,如下所示 -33.875924° 151.225401° 等等 static String degreeToString( double paramDouble1, double paramDouble2, Stri
-281344383
-299752871
一分为二。出于教育目的,我反编译了一个应用程序,从中我得到了这个数据库和一个函数,它将这个值转换为纬度和经度格式,如下所示
-33.875924°
151.225401°
等等
static String degreeToString(
double paramDouble1,
double paramDouble2,
String paramString1,
String paramString2,
int paramInt)
{
int i = (int)paramDouble1;
double d = paramDouble1 - i;
int j = (int)(60.0D * d);
d = 3600.0D * d - j * 60;
String str = paramString1;
if (paramDouble1 < 0.0D)
str = paramString2;
if (paramInt == 0)
paramString1 = Math.abs(i) + "° " + Math.abs(j) + "' " + (int)Math.abs(d) + "\" " + str;
while (true)
{
return paramString1;
if (paramInt == 1)
{
paramString1 = Math.abs(i) + ":" + Math.abs(j) + ":" + (int)(Math.abs(d) * 10.0D) / 10.0F + " " + str;
continue;
}
if (paramInt == 2)
{
paramString1 = (int)(10000000.0D * paramDouble1) / 10000000.0D + "°";
continue;
}
if (paramInt == 3)
{
if (paramString1.charAt(0) == 'N')
{
LatLngToXY.update(paramDouble1, paramDouble2);
paramString1 = LatLngToXY.zone + LatLngToXY.zoneLetter + (int)LatLngToXY.xy[0];
continue;
}
paramString1 = (int)LatLngToXY.xy[1];
continue;
}
if ((paramInt == 10) || (paramInt == 11))
{
paramString1 = i + ":" + Math.abs(j) + ":" + (int)Math.abs(d);
continue;
}
if ((paramInt == 12) || (paramInt == 13))
{
paramString1 = (int)(10000000.0D * paramDouble1) / 10000000.0D;
continue;
}
paramString1 = "";
}
}
应该做这项工作,但它给我的输出总是一样的
-214.7483648
我觉得有点不对劲,但我不知道,如果有人能帮我,请告诉我
谢谢 嘿,你的问题很难理解是否要将-2147483648转换为-214.7483648°,但得到的却是-214.7483648?
-214.7483648