Ich habe eine Methode Unterschied zwischen zwei Latitude zu berechnen:java.lang.NumberFormatException: Unzulässige Doppel
public static double distanceKM(LatLng latLng1, LatLng latLng2) {
int EARTH_RADIUS_KM = 6371;
double lat1Rad = Math.toRadians(latLng1.latitude);
double lat2Rad = Math.toRadians(latLng2.latitude);
double deltaLonRad = Math.toRadians(latLng2.longitude - latLng1.longitude);
double dist_travelled = Math
.acos(Math.sin(lat1Rad) * Math.sin(lat2Rad) + Math.cos(lat1Rad)
* Math.cos(lat2Rad) * Math.cos(deltaLonRad))
* EARTH_RADIUS_KM;
dist_travelled = Double.parseDouble(new DecimalFormat("##.######")
.format(dist_travelled));
return dist_travelled;
}
Manchmal ist diese Methode throw Exception (ich sage manchmal, wenn ich in defference Gerät testen):
java.lang.NumberFormatException: Ungültige double: "0,179927" bei java.lang.StringToReal.invalidReal (StringToReal.java:63) bei java.lang.StringToReal.parseDouble (StringToReal.java:269)
Kann mir in diesem Fall jemand helfen? Danke
Ihr dist_travelled Wert enthält, (Komma) überprüfen Sie Ihre dist_travelled richtig –
Aber ich dist_travelled Format (Doppel mit Typ ##. ####),. nicht, warum, wenn ich wieder formatiere,. wechseln zu , ? –
müssen Sie nicht erneut konvertieren. aber Sie müssen überprüfen, warum dist_travelled gibt, (Komma) –