Изменение формата отображения двойного числа после выполнения расчетов - PullRequest
0 голосов
/ 11 января 2011

Я выполняю вычисления, используя удвоение следующим образом:

int minutes;
double seconds;
double DecMinutes;


// Handle Dd in; DMS, and DMm out
Calculate myCalculate = new Calculate(inDecimal); {
double outMinutes = myCalculate.getMinute();
double outSeconds = myCalculate.getSecond();
double outDecMinute = myCalculate.getDecMinute();


minutes = (int) outMinutes;
seconds = outSeconds;
DecMinutes = outDecMinute;


} // end myCalculate

// Convert result back to String
c = Integer.toString(minutes);
((EditText)findViewById(R.id.txtDMSLatMin)).setText(c);
((EditText)findViewById(R.id.txtDMmLatMin)).setText(c);
c = Double.toString(seconds);
((EditText)findViewById(R.id.txtDMSLatSec)).setText(c);
c = Double.toString(DecMinutes);
((EditText)findViewById(R.id.txtDMmLatDecMin)).setText(c);

Моя основная проблема связана с двойным выводом DecMinutes.Поскольку это вычисление в десятичных минутах, мне нужно использовать double.Мой макет уже отображает десятичную точку как фиксированный символ, поэтому вместо отображения 0,0734 я хочу отобразить 0734 в поле EditText txtDMmLatDecMin.

Спасибо !!

1 Ответ

0 голосов
/ 11 января 2011

Так в принципе, вы хотите отбросить ноль и десятичную точку?

Может быть, есть более простой способ, но в верхней части моей головы я думаю, что вы можете использовать String.split().С другой стороны, вы должны создать новый массив String для хранения значений.

Итак, после того, как вы сделаете это:

c = Double.toString(DecMinutes);
String[] strSplit = c.split("\\.");

Тогда вы можете сделать:

((EditText)findViewById(R.id.txtDMmLatDecMin)).setText(strSplit[1]);

Опять же, может быть, есть более простой способ.:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...