Первое приложение для Android - PullRequest
1 голос
/ 27 сентября 2011

Я довольно новичок во всей андроид-сцене, и я решил начать с чего-то простого, конверсии от Цельсия до Фаренгейта.Вот блок кода, который я использую для фактической математики (x-32) * 5/9, где x = ввод для температуры по Цельсию.

convertbutton.setOnClickListener(new OnClickListener() {

    public void onClick(View arg0) {

    double result = new Double(input.getText().toString())-32*5/9;


    output.setText(Double.toString(result)); 

Я знаю, что x-32 * 5/9 не является допустимым способом выполнения формулы (x-32) * 5/9, но я не могу поставить -32 в скобках.Просто ищу способы заставить его вычесть 32 из входных данных сначала , а затем умножить на на 5/9.Любая помощь будет очень благодарна.

Ответы [ 2 ]

2 голосов
/ 27 сентября 2011

Возможно, вас смутили скобки в этом выражении:

new Double(input.getText().toString())-32*5/9

Это сработало бы, если вы заключили в скобки все до 32:

(new Double(input.getText().toString())-32)*5/9
^ here             and               here ^

Но это прощепрочитайте, если вы поместите значение во временную переменную:

double input_value = new Double(input.getText().toString());
double result = (input_value - 32) * 5/9;
0 голосов
/ 27 сентября 2011

Возможно, вы ищете Double.parseDouble (String);

Вот пример ...

String s = "56.7";
double input = Double.parseDouble(s);
input = (input - 32d) * (5d/9d);

Редактировать: d необходимо заставить java интерпретировать константы как удвоенные

...