/ / Come passare il doppio valore a una visualizzazione di testo in Android - android, eclipse, double

Come passare il doppio valore ad una vista testuale in Android - android, eclipse, double

In Android, sto impostando il testo di una visualizzazione di testo come risposta a un calcolo che è a double tipo di dati.

Quando il doppio valore ha un valore di 5, la visualizzazione di testo riceve la stringa: 5.0.

Codice:

double result = number1/number2;
String finalresult = new Double(result).toString();
textView1.setText(finalresult);

Come posso formattare il testo textView in modo che mostri il doppio valore in un formato coerente?

risposte:

32 per risposta № 1

In Android, assegna un doppio a un textView:

Usa Double.toString:

result = number1/number2
String stringdouble= Double.toString(result);
textview1.setText(stringdouble));

oppure puoi usare NumberFormat:

Double result = number1/number2;
NumberFormat nm = NumberFormat.getNumberInstance();
textview1.setText(nm.format(result));

Per forzare per una precisione di 3 unità:

private static DecimalFormat REAL_FORMATTER = new DecimalFormat("0.###");
textview1.setText(REAL_FORMATTER.format(result));

1 per risposta № 2

Il modo migliore è

   String finalresult = String.valueof(result);
textview.setText(finalresult);

0 per risposta № 3

Prova questo

 TextView tv = (TextView)findViewById(R.id.button1);
Double num = (double)4+6;
if(num%2==0) {
tv.setText(num.intValue()+""); //if you want to remove the decimal place
} else {
tv.setText(num+"");
}

0 per risposta № 4
Double result = number1/number2;//number1 and number2 are double
textView1.setText(""+result);

Utilizzare le due righe precedenti per impostare il valore su textview


0 per risposta № 5

potresti usare NumberFormat e quindi puoi fare il tuo normale codice:

 result = number1/number2
String finalresult = new Double(result).toString();
NumberFormat nf = NumberFormat.getInstance();
nf.setMinimumFractionDigits(0);
nf.setMaximumFractionDigits(0);
finalresult= nf.format(result);
textView1.setText(finalresult);

e lì puoi impostare il massimo o in alternativa puoi trasmettere a un numero intero.

double number1 =1.0;
double number2 = 10.4;
int result = (int) (number1/number2);
textView1.setText(String.valueOf(result));

la differenza tra loro è quella del pugnoarrotonderà il numero al numero intero più vicino e sarà un'approssimazione più accurata, mentre il casting su un numero intero porterà a casi in cui il risultato di 3,9 verrà messo come 3 e questa è una grande differenza. Pertanto consiglio di usare il NumberFormat


0 per risposta № 6

Modo più semplice text.setText(a+"")