Вы можете использовать DecimalFormat
для форматирования вашего номера:
Double value = 44395749d;
DecimalFormatSymbols symbols = DecimalFormatSymbols.getInstance();
if (value > 1 || value < -1) {
symbols.setExponentSeparator("E+");
}
DecimalFormat decimalFormat = new DecimalFormat("0E00", symbols);
decimalFormat.setMaximumFractionDigits(Integer.MAX_VALUE);
System.out.println(decimalFormat.format(value));
Используется DecimalFormatSymbols
для добавления +
к показателю степени, если необходимо (value > 1
или value < -1
). Чтобы получить все цифры дроби, используйте setMaximumFractionDigits(Integer.MAX_VALUE)
. При необходимости вы можете просто изменить формат.
Результат будет 4.4395749E+07
.
Не забудьте указать конкретную локаль при необходимости:
DecimalFormatSymbols symbols = DecimalFormatSymbols.getInstance(Locale.ENGLISH)