2

これを投稿する前にいくつかの質問を見て、探していたものが見つからなかったので、重複している場合は申し訳ありません。

私はこのコードを持っています:

cout << "The balance at year " << i << " will be " << char(156) << std::setprecision(2)
     << balance << endl;

私の知る限り、これはコンソールに次のように出力されます。

£2.00
£100.46

* fyi上記は単なる例であり、これらの数値を示唆するものは何もないことを私は知っていますが、形式はそのように見えるはずですよね?

しかし、これが私の出力です:

£1e+002
£1.1e+002

なぜこれをしているのですか?

setprecisionを使用すると小数点以下2桁が表示され、それ以上は表示されないことを理解していました。

ああ、また、ダブルスの印刷についての質問はほとんどありませんでしたsetprecision

#include <iomanip>
4

3 に答える 3

5

setprecision精度、桁数を設定します。

fixed固定フォーマットを設定します。

私はそれがそれを修正するに違いない。

于 2013-03-27T14:24:30.633 に答える
3

std::fixed科学的記数法ではなく、固定形式を設定するために使用します。

cout << "The balance at year " << i << " will be " << char(156) << std::setprecision(2) << std::fixed << balance << endl;

于 2013-03-27T14:25:00.327 に答える
2

このようにしてください:

cout << "The balance at year " << i << " will be " << char(156) << std::setprecision(2) << std::fixed << balance << endl;
于 2013-03-27T14:27:42.447 に答える