Wie Sie die Doppelfunktion deaktivieren, wenn Sie einen Stringstream verwenden, um in die wissenschaftliche Notation zu konvertieren

8

Ich mache eine Funktion, um die Anzahl der Dezimalziffern und ganzzahligen Ziffern zurückzugeben, und wandle die eingefügte typename Zahl mit sstream s in eine Zeichenkette um.

Die Zahl, die in eine Zeichenkette umgewandelt wird, kommt jedoch in wissenschaftlichen Notationen vor, was nicht nützlich ist, um die Anzahl der Ziffern in der normalen Zahl zu zählen. Wie kann ich das in meiner unten stehenden Funktion verhindern?

%Vor%     
Griffin 15.05.2011, 19:54
quelle

2 Antworten

25

Verwenden Sie std::fixed Stream-Manipulator als:

%Vor%

-

Beispiel,

%Vor%

Ausgabe:

%Vor%

Beispiel ist hier entnommen.

Und Sie können std::stringstream anstelle von cout verwenden, aber das Ergebnis wäre dasselbe. Experimentieren Sie es hier:

Ссылка

    
Nawaz 15.05.2011, 20:03
quelle
7

Sie müssen Stream-Manipulatoren verwenden, um die Zeichenfolge wie gewünscht zu formatieren. In Ihrem Fall werden Sie wahrscheinlich das Format fixed format verwenden wollen:

%Vor%

Das Gegenteil (wenn Sie die wissenschaftliche Notation erzwingen wollen) ist das scientific -Format:

%Vor%     
Fred 15.05.2011 20:03
quelle