这是一些“伪”c ++代码
double var = 5.5;
cout << var << endl;
double var2 = 6.0;
cout << var2 << endl;
5.5
6
问题是某些代码可能期望它是6.0。有人知道如何更改输出流。
好的,这是我试过的一些示例代码
double t = 6.0;
while (t > 0.1) {
t = t - 0.1;
cout << setprecision(2) << t << endl;
}
输出
5.9
5.8
...
5.2
5.1
5
4.9
4.8
4.7
答案 0 :(得分:4)
使用std::setprecision
和std::fixed
:
std::cout << std::fixed << std::setprecision(1) << var2 << std::endl;
请参阅演示:http://ideone.com/Arz85
只有std::setprecision(1)
不起作用。您也必须使用std::fixed
。
不要忘记包括这个:
#include <iomanip>
我猜你在代码中写了using namespace std
。如果是这样,那就不要那样做了。编写完全限定名称,例如std::cout
,而不是cout
。请参阅以下主题:
答案 1 :(得分:0)
使用ios_base标志,看看C ++ reference。