Wichtig ist, dass die Zahl im "scientific" format ausgeschrieben wird, also
#.##[...]###E+-###
Dafür kann man ja den Standard Manipulator verwenden. Die Länge der Mantisse ist im Prinzip egal, bzw. läßt sich ja recht einfach mit setprecision() ändern. Aber der Exponent soll nur zweistellig sein, und zwar für alle Werte von -99 bis +99. Für Werte zwischen -9 und +9 soll eine führende Null spendiert werden. Sobald ich bisher ios_base::scientific setze bekomme ich den dreistelligen Exponent, egal ob z.B. E+000 oder E-167
@virtual: Ist ja auch kein Wunder, wenn du nen int reinschmeißt. Nen double erwarte ich da schon (oder zumindest float). Wenn du die 3 wieder durch ne 3.0L ersetzt, krieg ich
Code:
3.00000e+00
-- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra
Danke auf jeden Fall für Eure Mühe, das ganze Problem liegt wie jetzt herausgefunden hab, am Compiler. Der mingW32 compiler schreibt standardmäßig drei stellen, djgpp standardmäßig zwei und nur bei bedarf drei
Jau, ist Compiler/Platformabh. Wenn Du weiter auf nur zwei Exponentenstellen bestehst, bleibt es bei meiner ursprünglichen Aussage: dafür gibt es keinen standardmanipulator, roll your own! -- Gruß, virtual Quote of the Month Ich eß' nur was ein Gesicht hat (Creme 21)