[java] 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 에서이 작업을 수행하려고합니다. 기본적으로 사용자가 편집 텍스트 상자를 터치하면 더 많은 코드를 게시하고 정보를 편집 텍스트 상자 채우기를 계산하기를 원합니다.



답변

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

이것은 double을 String으로 변환합니다


답변

Double.toString ()을 사용하여 숫자가 너무 작거나 너무 크면 다음과 같은 과학적 표기법이 표시됩니다. 3.4875546345347673E-6. 출력 문자열 형식을보다 잘 제어 할 수있는 몇 가지 방법이 있습니다.

double num = 0.000074635638;
// use Double.toString()
System.out.println(Double.toString(num));
// result: 7.4635638E-5

// use String.format
System.out.println(String.format ("%f", num));
// result: 0.000075
System.out.println(String.format ("%.9f", num));
// result: 0.000074636

// use DecimalFormat
DecimalFormat decimalFormat = new DecimalFormat("#,##0.000000");
String numberAsString = decimalFormat.format(num);
System.out.println(numberAsString);
// result: 0.000075

String.format ()을 사용하는 것이 가장 편리한 방법입니다.


답변

이 코드는 컴파일되어 작동합니다. 시도한 호출을 사용하여 double을 문자열로 변환합니다.

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

효과가있다. 반복적이어야합니다.


답변

코 틀린

.toStringkotlin의 모든 데이터 유형에 직접 사용할 수 있습니다.

val d : Double = 100.00
val string : String = d.toString()


답변

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

이 코드는 작동합니다