Преобразование double в строку

Я не уверен, что это я или что, но у меня проблема с преобразованием 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.

Ответ 1

double total = 44;
String total2 = String.valueOf(total);

Это преобразует double в String

Ответ 2

Этот код компилируется и работает для меня. Он преобразует двойную строку в строку, используя запрошенные вами вызовы.

public class TestDouble {

    public static void main(String[] args) {
        double total = 44;
        String total2 = Double.toString(total);

        System.out.println("Double is " + total2);
    }
}

Я озадачен тем, что вы видите исключение NumberFormatException. Посмотрите на трассировку стека. Я предполагаю, что у вас есть другой код, который вы не показываете в своем примере, вызывающий исключение этого исключения.

Ответ 3

Исключение, вероятно, происходит из вызовов parseDouble(). Убедитесь, что значения, присвоенные этой функции, действительно отражают двойной.

Ответ 4

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());

он работает. должен быть повторяющимся.

Ответ 5

double total = 44;
String total2= new Double(total).toString();

этот код работает

Ответ 6

double priceG = Double.parseDouble(priceGal.getText().toString());
double valG = Double.parseDouble(volGal.toString());

Один из них бросает исключение. Вам нужно добавить некоторые записи/печать, чтобы увидеть, что в volGal и priceGal - это не то, что вы думаете.

Ответ 7

double.toString() должен работать. Не тип переменной Double, а сама переменная Double.

Ответ 8

Просто используйте следующее:

doublevalue+""; 

Это будет работать для любого типа данных.

Пример:

Double dd=10.09;
String ss=dd+"";