Простой способ:
formatter = new DecimalFormat("0.00000E00"); // Want to enforce the sign to appear
sresult = formatter.format(result);
if (!sresult.contains("E-")) { //don't blast a negative sign
sresult = sresult.replace("E", "E+");
}
System.out.println(sresult);
Выводы 1.23456E+02
для вашего примера.
Но я не верю, что есть способ сделать это из шаблона DecimalFormat
.Или, по крайней мере, Javadoc не указывает, что он есть.
Редактировать: trashgod поднимает хорошую мысль.Возможно, вы захотите получить положительные и отрицательные признаки от DecimalFormatSymbols
, если вы планируете локализовать это в разных регионах.
Редактировать 2: Андрей отметил, что E
также являетсяпеременная локализации.Показывает, что я знаю о локализации.