Ответ 1
double total = 44;
String total2 = String.valueOf(total);
Это преобразует double в String
Я не уверен, что это я или что, но у меня проблема с преобразованием double в строку.
вот мой код:
double total = 44;
String total2 = Double.toString(total);
Я делаю что-то неправильно или я не вижу здесь шага.
Я получаю ошибку NumberFormatException
при попытке конвертировать это.
totalCost.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
try {
double priceG = Double.parseDouble(priceGal.getText().toString());
double valG = Double.parseDouble(volGal.toString());
double total = priceG * valG;
String tot = new Double(total).toString();
totalCost.setText(tot);
} catch(Exception e) {
Log.e("text", e.toString());
}
return false;
}
});
Я пытаюсь сделать это в onTouchListener. Ill post more code, в основном, когда пользователь прикасается к окну edittext, я хочу, чтобы информация вычисляла заполнение окна edittext.
double total = 44;
String total2 = String.valueOf(total);
Это преобразует double в String
Этот код компилируется и работает для меня. Он преобразует двойную строку в строку, используя запрошенные вами вызовы.
public class TestDouble {
public static void main(String[] args) {
double total = 44;
String total2 = Double.toString(total);
System.out.println("Double is " + total2);
}
}
Я озадачен тем, что вы видите исключение NumberFormatException. Посмотрите на трассировку стека. Я предполагаю, что у вас есть другой код, который вы не показываете в своем примере, вызывающий исключение этого исключения.
Исключение, вероятно, происходит из вызовов parseDouble(). Убедитесь, что значения, присвоенные этой функции, действительно отражают двойной.
double priceG = Double.parseDouble(priceGal.getText().toString());
double valG = Double.parseDouble(volGal.toString());
double priceG = Double.parseDouble(priceGal.getText().toString());
double valG = Double.parseDouble(volGal.toString());
double priceG = Double.parseDouble(priceGal.getText().toString());
double valG = Double.parseDouble(volGal.toString());
он работает. должен быть повторяющимся.
double total = 44;
String total2= new Double(total).toString();
этот код работает
double priceG = Double.parseDouble(priceGal.getText().toString());
double valG = Double.parseDouble(volGal.toString());
Один из них бросает исключение. Вам нужно добавить некоторые записи/печать, чтобы увидеть, что в volGal
и priceGal
- это не то, что вы думаете.
double.toString()
должен работать. Не тип переменной Double
, а сама переменная Double
.
Просто используйте следующее:
doublevalue+"";
Это будет работать для любого типа данных.
Пример:
Double dd=10.09;
String ss=dd+"";