Formatierung in spez. wissenschaftliche Notation

Hallo,
ich habe eine Frage.
Ich möchte gerne eine Zeichenkette mit großen Zahlen in der (konstanten) wissenschaftlichen Notation e+XXX oder e-XXX mit fünf Nachkommastellen ausgeben und zwar unabhängig davon, ob ich kleine (e1) oder große Zahlen (e100) rechne.

Ich habe schon eine Lösung erarbeitet, die aber relativ ineffizient ist:

double f = 1e100;
DecimalFormat dc = new DecimalFormat(„0.#####E000“);

dc.format(f).replaceAll(„E0“, „e+0“).replaceAll(„E-0“, „e-0“).replaceAll(„E-“, „e-“).replaceAll(„E“, „e+“);

Eine andere mögliche Lösung erschien auch zunächst diese hier:

System.out.printf("%.5e",f)

Hier erhält man aber nur die (gewohnte) Notation der Form e+XX oder -eXX.

Gibt es elegantere Methoden ?

Danke

Grüße Sebastian

Betrachtet man die Wertebereiche der Datentypen, hier also float und double, könnte man auch zur Überlegung gelangen, die erste signifikante Stelle bei der Herangehensweise zu „vernachlässigen“.

Das heisst also, dass man die 0 „plump“ als Zeichen zur Ausgabe hinzufügt:

double f = 1e100;
System.out.printf (String.format("%.5e",f).replaceAll(„e\+“,„e+0“).replaceAll(„e-“,„e-0“));

Wäre das soweit ok ?
Ich bin im konkreten Anwendungsfall ohnehin dann nur mit float Werten konfrontiert (-e37 bis e37).

Grüsse Sebastian