使用cout打印一个(浮点)小数

use*_*957 0 c++ floating-point iostream cout css-position

我有一个浮点数,我想在十进制后打印一位数.我怎么能用这个cout呢?我尝试了以下代码,但它给出了错误的显示.

#include <iostream>

using namespace std;

int main()
{
    float time = 2.2;
    cout.precision(1);
    cout << time << endl;

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

Die*_*ühl 5

您需要将tge precision设置为1并将格式化标志浮动到fixed:

std::cout << std::fixed << std::setprecision(1);
Run Code Online (Sandbox Code Playgroud)

顺便说一句,不要用std::endl.要获取换行符'\n',如果你真的想要刷新流使用std::flush.

  • 似乎需要一个链接到[不可能的小端](http://www.aristeia.com/Papers/C++ReportColumns/novdec95.pdf)(PDF)作者:Scott Meyers :) (4认同)
  • 好吧,如果我要链接一篇文章,我当然会链接[this](http://kuhllib.com/2012/01/14/stop-excessive-use-of-stdendl/)一个!我真的没有意识到斯科特的文章...... (3认同)