2013-11-09 1 views
0

У меня проблема в работе с научной нотацией. Для того, чтобы simplifeid проблему, я использовал константы вместо переменных, и утверждение следующим образом:Как преобразовать научную нотацию в нормальное двойное выражение

double temp = 211.751 * 110 * 500 * 0.9971; 
Log.e("Temp : ", Double.toString(temp)); 

результат: 1.1612530715499999E7

что я хочу: 11,612,530.72

Мой вопрос заключается в том преобразовать результат в нормальное выражение и отформатировать до двух знаков после запятой.

ответ

6
Double.parseDouble("9.78313E+2"); 

дает

978.313 

и затем

NumberFormat formatter = new DecimalFormat("#0.00"); 
System.out.println(formatter.format(number)); 

попробовать его

+0

Он не может работать. Может быть, мой вопрос недостаточно ясен, я имею в виду, что результат сам по себе является двойным, и я хочу преобразовать его в строку в нормальном двойном выражении с двумя десятичными знаками. – xpw

+0

Да, это не понятно для меня .. обеспечивают ввод и вывод с типом данных. – sam

+0

Чтобы упростить, как преобразовать двойную переменную «temp» в строку без научной нотации? – xpw

0
// try this 
double temp = 211.751 * 110 * 500 * 0.9971; 
DecimalFormat format = new DecimalFormat("#00,000,000.00"); 
Log.e("Temp : ",format.format(temp)); 
Смежные вопросы