2013-12-13 2 views
1

я пытался что-то вроде нижеПочему возвращаемое значение getCurrentLattitude() вызывает исключение в числовом формате?

double latitude = 0; 
double longitude = 0; 

protected void onCreate(Bundle savedInstanceState) { 

    super.onCreate(savedInstanceState); 
    setContentView(R.layout.places_details_gridview); 

    locManager = (LocationManager) getSystemService(LOCATION_SERVICE); 
    currentLoc = new CurrentLocation(locManager, ShowPlacesInList.this); 

    if(currentLoc.getCurrentLattitude() != null && currentLoc.getCurrentLongitude() != null){ 
     latitude = Double.parseDouble(currentLoc.getCurrentLattitude()); 
     longitude = Double.parseDouble(currentLoc.getCurrentLongitude());    
     myLoc = new Location(""); 
     myLoc.setLatitude(latitude); 
     myLoc.setLongitude(longitude); 
     calculateDist(); 
    } 
} 

Это показывает исключение формат чисел в

latitude = Double.parseDouble(currentLoc.getCurrentLattitude()); 

из currentLoc.getLatitude и currentloc.getLongitude я получаю значение строки

+1

Какое значение возвращается, которое невозможно разобрать? –

+2

проверить значение currentLoc.getCurrentLattitude() .. вы получите ответ – stinepike

+0

Строковое значение, которое вы переходите к Double.parseDouble(), не в правильном формате. Распечатайте его в logcat и разместите здесь. – Melquiades

ответ

0

Пожалуйста, прочтите this ,

Убедитесь, что вы используете правильный десятичный разделитель (в зависимости от того, какой языковой стандарт действует Double, может быть 5.0 или 5,0).

0

из currentLoc.getLatitude и currentloc.getLongitude я получаю значение строки

Какое значение строки?

Метод parseDouble бросает NumberFormatException, когда «строка не содержит интерпретируемое двойной» - http://docs.oracle.com/javase/7/docs/api/java/lang/Double.html#parseDouble(java.lang.String)

NumberFormatException, что брошено покажет вам именно то, что проблема в том, например:

Java. lang.NumberFormatException: для строки ввода: «A5.0»

Смежные вопросы