неожиданные результаты (двойной против числа с плавающей запятой против целого числа)

Я выполняю расчет (преобразовывая гигабайты в байты), но не получаю ожидаемых результатов. Я считаю, что расчеты и логика верны, но я думаю, что именно так я храню свой номер. я играл с использованием int, double, float и не могу получить правильный формат. я установил текст, используя toString, valueOf и String.format.

я получаю 1.0737418E9 вместо 1073741824

относительный код ниже: Спасибо!

double sumB;
double sumG;

// get values 
Bytes = (EditText)findViewById(R.id.numBytes);
Gigs = (EditText)findViewById(R.id.numGigs);


//calculations
   sumB = Double.parseDouble(Gigs.getText().toString()) * 1073741824; //couldn'f figure out how to use exponents
   sumG = Double.parseDouble(Gigs.getText().toString()) * 1;

//set text
  //Bytes.setText(Integer.toString(sumB));  
               // Bytes.setText(Double.toString(sumB));  //didnt work
               // Bytes.setText(String.format("%.8s", sumB)); //didnt work
                Bytes.setText(String.valueOf(sumB));   
                Gigs.setText(Double.toString(sumG));

person branedge    schedule 30.03.2017    source источник
comment
попробуйте изменить Double.parseDouble(); на Double.valueOf(); и Gigs.setText(String.valueOf(sumG));   -  person Marcelo Ferracin    schedule 30.03.2017
comment
извините, я получаю те же результаты   -  person branedge    schedule 30.03.2017
comment
Вероятно, это связано с вашей проблемой stackoverflow.com/questions/20813631/   -  person Mike Holtkamp    schedule 30.03.2017
comment
Различия между двумя результатами могут быть результатом выбора форматирования вывода. Я предлагаю использовать идентичные методы преобразования двойной строки в строку и, возможно, использовать DecimalFormat для управления форматированием.   -  person Patricia Shanahan    schedule 30.03.2017
comment
Спасибо, ребята.. не уверен, какой из них пометить как ответ.. я настроил вычисление следующим образом: sumB = Double.valueOf(Gigs.getText().toString()) * 1073741824; и setText для этого DecimalFormat df = new DecimalFormat(#.#######); Bytes.setText(df.format(Double.valueOf(sumB)));   -  person branedge    schedule 30.03.2017