Как передать двойное значение текстовому виду в Android

В Android я устанавливаю текст текстового представления как ответ на вычисление, которое является типом данных double.

Если двойное значение имеет значение 5, текстовое представление получает строку: 5.0.

код:

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

Как форматировать текст textView так, чтобы он показывал двойное значение в согласованном формате?

Ответ 1

В Android назначьте двойной текст:

Используйте Double.toString:

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

или вы можете использовать NumberFormat:

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

Для достижения точности 3 единиц:

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

Ответ 2

Лучший способ -

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

Ответ 3

Попробуйте это

 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+"");
            }

Ответ 4

вы можете использовать NumberFormat, а затем вы можете сделать свой обычный код:

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

и там вы можете установить максимальную или альтернативно вы можете применить к целому числу.

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

разница между ними заключается в том, что первая часть будет округлять число до ближайшего целого числа и будет более точным приближением, в то время как приведение к целому числу приведет к тому, что будут иметь место случаи, когда результат будет равен 3,9, а 3 это большая разница. Поэтому я рекомендую использовать NumberFormat

Ответ 5

Double result = number1/number2;//number1 and number2 are double
textView1.setText(""+result);

Используйте приведенные выше две строки для установки значения в textview

Ответ 6

Самый простой способ text.setText(a+"")