programing

더블을 문자열로 변환하는 중

luckcodes 2022. 10. 28. 22:20

더블을 문자열로 변환하는 중

나인지 뭔지는 모르겠지만 더블을 문자열로 변환하는 데 문제가 있습니다.

코드는 다음과 같습니다.

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

그러면 더블이 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()이 가장 편리한 방법입니다.

이 코드는 컴파일되어 기능합니다.시행한 콜을 사용하여 더블을 문자열로 변환합니다.

public class TestDouble {

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

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

나는 네가 그 번호를 보고 당황했다.Format Exception(형식 예외)스택 트레이스를 확인합니다.이 예외를 발생시키는 원인이 되고 있는 다른 코드가 예시에 표시되어 있지 않은 것 같습니다.

예외는 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());

효과가 있어 반복해야 해

코틀린

사용할 수 있습니다..toString코틀린 내의 모든 데이터 유형에 직접 접속할 수 있습니다.

val d : Double = 100.00
val string : String = d.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.

완전한 정보

String.valueOf()는 float, double, int, boolean 등에 사용할 수 있습니다.

double d = 0;
float f = 0;
int i = 0;
short i1 = 0;
char c = 0;
boolean bool = false;
char[] chars = {};
Object obj = new Object();


String.valueOf(d);
String.valueOf(i);
String.valueOf(i1);
String.valueOf(f);
String.valueOf(c);
String.valueOf(chars);
String.valueOf(bool);
String.valueOf(obj);

이것은 매우 오래된 투고입니다만, 이것이 가장 간단하게 변환할 수 있는 방법입니다.

double total = 44;
String total2 = "" + total;

다음 항목만 사용하십시오.

doublevalue+""; 

이것은, 모든 데이터 타입에 대응합니다.

예:

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

사용하다StringBuilder클래스, 이렇게:

StringBuilder meme = new StringBuilder(" ");

// Convert and append your double variable
meme.append(String.valueOf(doubleVariable));

// Convert string builder to string
jTextField9.setText(meme.toString());

원하는 출력을 얻을 수 있습니다.

어떻게 하면 좋을까요?

totalCost.setText(tot);

그냥 하면 돼

totalCost.setText( "" + total );

여기서 " + < 변수>는 자동으로 문자열로 변환합니다.

더블을 String으로 변환하는 방법은 세 가지가 있습니다.

  1. Double.toString(d)
  2. String.valueOf(d)
  3. "+d

    퍼블릭 클래스 DoubleToString {

    public static void main(String[] args) {
        double d = 122;
        System.out.println(Double.toString(d));
        System.out.println(String.valueOf(d));
        System.out.println(""+d);
    
    }
    

    }

2배로 하는 문자열

  1. Double.parse Double(str);

소수점 형식을 지정하여 변환하는 경우String DecimalFormat많은 도움이 됩니다.

예:

DecimalFormat format = new DecimalFormat("#.####");
format.format(yourDoubleObject);

여기에 이미지 설명 입력

이것들은 DecimalFomat 패턴의 일부로 지원되는 다양한 기호입니다.

언급URL : https://stackoverflow.com/questions/5766318/converting-double-to-string