Ist es möglich, Zeichenketten in wissenschaftlicher Notation auf folgende Arten zu formatieren:
setze feste Dezimalstellen in Mantisa: 0
%Vor%Also sollte die Nummer formatiert werden
%Vor%Ich kann keine 0 Dezimalstellen für Mantisa setzen:
%Vor%Ergebnis:
%Vor%Ich bin mir nicht sicher, welchen C ++ - Compiler Sie verwenden, der Ihnen drei Ziffern für den Exponenten gibt - die C- und C ++ - Standards erfordern dafür mindestens zwei Ziffern, und genau das tut g ++. Es gibt keine Möglichkeit, mit den Standard-C- oder C ++ - E / A-Funktionen nur eine Ziffer zu erhalten, daher müssen Sie Ihre eigene Lösung rollen lassen. Da eine Umwandlung von Fließkomma in Zeichenfolgen ein sehr kniffliges Problem ist [PDF], Ich würde dringend empfehlen, dies nicht zu tun und stattdessen das Ergebnis nachzubearbeiten.
Hier ist eine Möglichkeit, das zu tun:
%Vor%Ich kann nicht herausfinden, wie man eine einzelne Ziffer im Exponentenfeld erhält, aber das Folgende stimmt mit allen anderen Anforderungen überein.
%Vor% Ausgabe:
1e + 05
BEARBEITEN:
Hat eine schnelle Suche durch den Standard (N3291) gemacht und konnte bei Verwendung der wissenschaftlichen Notation nichts finden, was über die Anzahl der Stellen im Exponentenfeld sprach. Dies könnte eine Implementierung sein.
Tags und Links c++ format scientific-notation