Da perfezionare ma...
codice:String result = ""; // input double lat = 41.3015823; double lng = 13.0275758; DecimalFormat df = new DecimalFormat("#.00"); double latValDeg, latValMin, lngValDeg, lngValMin; lat = Math.abs(lat); latValDeg = Math.floor(lat); result = String.valueOf((int) latValDeg) + "º"; latValMin = Math.floor((lat - latValDeg) * 60); result += String.valueOf((int) latValMin) + "'"; long round = Math.round((lat - latValDeg - latValMin / 60) * 3600 * 1000); double d = (new Long(round)).doubleValue() / 1000; result += df.format(d) + '"' + " " + ((lat >= 0) ? "N" : "S"); result += " "; lng = Math.abs(lng); lngValDeg = Math.floor(lng); result += String.valueOf((int) lngValDeg) + "º"; lngValMin = Math.floor((lng - lngValDeg) * 60); result += String.valueOf((int) lngValMin) + "'"; round = Math.round((lng - lngValDeg - lngValMin / 60) * 3600 * 1000); d = (new Long(round)).doubleValue() / 1000; result += df.format(d) + '"' + " " + ((lng >= 0) ? "E" : "W");
result sarà = 41º18'5,70" N 13º1'39,27" E

Rispondi quotando