Ich versuche derzeit, einen Breiten- und Längengradwert von einem Ort abzurufen. Wenn ich die Lage auf ganzzahlige Werte mit dem folgenden Code konvertieren:Wie wird in Java ein Doppel auf zwei Dezimalstellen gerundet?
LocationManager locMan;
Location location;
String towers;
private static double lat;
private static double lon;
locMan = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Criteria crit = new Criteria();
towers = locMan.getBestProvider(crit, false);
location = locMan.getLastKnownLocation(towers);
if (location != null)
{
lat = (int) (location.getLatitude() * 1E6);
lon = (int) (location.getLongitude() * 1E6);
GeoPoint ourLocation = new GeoPoint(lati, longi);
OverlayItem overlayItem = new OverlayItem(ourLocation, "1st String", "2nd String");
CustomPinpoint custom = new CustomPinpoint(d, MainMap.this);
custom.insertPinpoint(overlayItem);
overlayList.add(custom);
overlayList.clear();
lat = (double) lat;
lon = (double) lon;
System.out.println("Lat is " + lat);
System.out.println("Longi is " + lon);
}
else
{
System.out.println("Location is null! " + towers);
Toast.makeText(MainMap.this, "Couldn't get provider", Toast.LENGTH_SHORT).show();
}
es im Format von 0,000000
lat is 5.494394
long is -7.724457
kommt zurück, wie kann ich es wieder im Format 00,000000
I habe DecimalFormat, Math.Round und verschiedene andere Lösungen ausprobiert, die ich auf Stack Overflow gefunden habe, aber immernoch das gleiche Ergebnis bekommen. Bitte helfen Sie!
Möchten Sie es im Format 00.000000 in einem String dann zeigen? –
nein ich brauche den Wert als Integer oder Double. Der Wert von lat sollte 54.94394 sein – devinefergal
Warten Sie dann ein anderes Problem. lat ist 5.494394, aber Sie wollen es 54.94394 werden? Dann nur "lat * = 10" –