Я пытаюсь выяснить, можете ли вы указать шестнадцатеричный ввод в качестве местоположения, точно так же, как вы можете ввести десятичный ввод в android, например:
// Decimal input
double src_lat = 46.550952;
double src_long = 15.651366;
GeoPoint srcGeoPoint = new GeoPoint((int) (src_lat * 1E6),
(int) (src_long * 1E6));
, поэтому мой вопрос заключается в следующем - есть ли способ ввести шестнадцатеричное число, а не десятичное ?
В моей базе данных есть шестнадцатеричные числа в форме "46.550952, 15.651366 и т. Д."
но когда я ввожу их как десятичные дроби, это, очевидно, дает мне неправильное местоположение на Картах Google, что является проблемой.
Буду очень признателен за любые ответы или выводы.
--- РЕДАКТИРОВАТЬ ---
Я просто сдался и сделал функцию, которая превращает шестнадцатеричное значение в десятичное =) Поскольку все строки (числа), которые я получаю, имеют длину 10 символов, я могу просто подставить минуты и секунды.
код ниже:
private double turnSexagesimalToDecimal(String number) {
double sumDivMinutes = 0;
String degree = number;
String degrees = degree.substring(0, 2);
String minutes = degree.substring(3, 5);
String second1 = degree.substring(5, 7);
String second2 = degree.substring(7);
String seconds = second1 + "." + second2;
double divideSeconds = Double.parseDouble(seconds) / 60;
sumDivMinutes = (Double.parseDouble(minutes) + divideSeconds) / 60;
sumDivMinutes = (double)Math.round(sumDivMinutes * 1000000) / 1000000;
sumDivMinutes = sumDivMinutes + Double.parseDouble(degrees);
return sumDivMinutes;
}