Как передать двойное значение текстовому виду в 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+"")