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 № 1In 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+"")