Wissenschaftliche schreibweise ausstellen



  • Hallo Leute,

    Ich speichere Double-Werte in einer Map und gebe diese aus.
    Ich sitze schon einige Zeit daran, diese Werte dazu zu bringen, nicht in wissenschaftlicher Schreibweise ( also mit "e" ..) auszugeben.
    Wenn ich setprecision und fixed benutze, muss ich allerdings genau sagen, wie viele Nachkommastellen der Wert hat (was nicht immer gleich ist). Gibt es da nicht eine einfachere Möglichkeit oder übersehe ich etwas?

    Danke für alle Beiträge!

    mfG R3aper



  • R3aper schrieb:

    Ich speichere Double-Werte in einer Map und gebe diese aus.
    Ich sitze schon einige Zeit daran, diese Werte dazu zu bringen, nicht in wissenschaftlicher Schreibweise ( also mit "e" ..) auszugeben.
    Wenn ich setprecision und fixed benutze, muss ich allerdings genau sagen, wie viele Nachkommastellen der Wert hat (was nicht immer gleich ist). Gibt es da nicht eine einfachere Möglichkeit oder übersehe ich etwas?

    Hallo R3aper,

    ich denke nein. Aber poste doch mal ein paar Zahlenbeispiele. Was ist schlimm daran, die Anzahl der Nachkommastellen anzugeben?

    :xmas2: Werner



  • Mein Problem ist, dass ich diese nicht weiß.
    Es handelt sich um zahlen mit bis zu 4 Nachkommastellen, die bis mehrere Milliarden groß sein können.



  • Die Angaben von setprecision können doch auch aus einer Variable kommen... wenn Du vorher die Nachkommastellen je nach Wertebereich passend berechnest?



  • R3aper schrieb:

    Mein Problem ist, dass ich diese nicht weiß.
    Es handelt sich um zahlen mit bis zu 4 Nachkommastellen, die bis mehrere Milliarden groß sein können.

    Ok - das geht gerade noch in einen double (8 Byte), so dass die letzte (4.) Nachkommastelle auch Sinn macht.
    Was spricht jetzt gegen setprecision(4) & fixed ? Am besten in Kombination mit einem vorausgehenden setw(16) .

    :xmas2: Werner



  • Ist es nicht so, dass ich durch setprecision(4) auch bei Zahlen, die keine Nachkommastelle haben 4 Nullen hintendrangehängt bekomme?


  • Mod

    R3aper schrieb:

    Ist es nicht so, dass ich durch setprecision(4) auch bei Zahlen, die keine Nachkommastelle haben 4 Nullen hintendrangehängt bekomme?

    Nein. Es kommt auf die Kombination der verschiedenen Flags zur Zahlendarstellung an. Siehe das Beispiel hier:
    http://www.cplusplus.com/reference/ios/fixed/



  • R3aper schrieb:

    Ist es nicht so, dass ich durch setprecision(4) auch bei Zahlen, die keine Nachkommastelle haben 4 Nullen hintendrangehängt bekomme?

    Ja - das ist so.

    SeppJ schrieb:

    R3aper schrieb:

    Ist es nicht so, dass ich durch setprecision(4) auch bei Zahlen, die keine Nachkommastelle haben 4 Nullen hintendrangehängt bekomme?

    Nein. Es kommt auf die Kombination der verschiedenen Flags zur Zahlendarstellung an. Siehe das Beispiel hier:
    http://www.cplusplus.com/reference/ios/fixed/

    .. wie das Beispiel auch zeigt. SeppJ - Du hast Dich vertan - oder?

    :xmas2: Werner


  • Mod

    Werner Salomon schrieb:

    SeppJ schrieb:

    R3aper schrieb:

    Ist es nicht so, dass ich durch setprecision(4) auch bei Zahlen, die keine Nachkommastelle haben 4 Nullen hintendrangehängt bekomme?

    Nein. Es kommt auf die Kombination der verschiedenen Flags zur Zahlendarstellung an. Siehe das Beispiel hier:
    http://www.cplusplus.com/reference/ios/fixed/

    .. wie das Beispiel auch zeigt. SeppJ - Du hast Dich vertan - oder?

    Entweder geht hier gerade etwas sehr verwirrendes vor oder das Beispiel zeigt, dass ich absolut Recht habe. Reden wir gerade von verschiedenen Sachen?

    edit: Ich sollte vielleicht noch deutlich machen, was ich meine:
    http://ideone.com/gPYH1h



  • SeppJ schrieb:

    Entweder geht hier gerade etwas sehr verwirrendes vor oder das Beispiel zeigt, dass ich absolut Recht habe. Reden wir gerade von verschiedenen Sachen?

    ganz einfach - Du hast Recht und wir reden von verschiedenen Sachen.

    Da die Forderung des TE (R3aper) war, die wissenschaftliche Schreibweise abzustellen, habe ich immer unterstellt, dass ein fixed erfolgt. Auch wenn es nicht explicit erwähnt wurde - und dann wird natürlich mit setprecision die Anzahl der Nachkommastellen eingestellt und diese auch immer ausgegeben, eagl wie groß die Zahl ist. Ohne fixed , wird bei Zahlen jenseits der Milliarde immer die wissenschaftliche Schreibweise verwendet - also aus Sicht von R3aper indiskutabel.

    @R3aper: wenn Du uns sagst, was Du genau haben möchtest (nicht was Du nicht haben willst!), so können wir Dir vielleicht helfen.

    :xmas1:


Anmelden zum Antworten