C++ 如何在C+中打印出小数点后两位数为78.13的数字78.125+;

C++ 如何在C+中打印出小数点后两位数为78.13的数字78.125+;,c++,C++,我的作业是打印出小数点后两位数的两位数。在一个示例测试中,我得到的输出是78.125。我的老师教我用setprecision函数打印出数字 #include <iomanip> ...some code cout << fixed << setprecision(2); cout << x /*the number*/ #包括 …一些代码 cout实现定义了std::cout和std::setprecision的舍入行为 C++11提供了一个名

我的作业是打印出小数点后两位数的两位数。在一个示例测试中,我得到的输出是78.125。我的老师教我用setprecision函数打印出数字

#include <iomanip> 
...some code
cout << fixed << setprecision(2);
cout << x /*the number*/
#包括
…一些代码

cout实现定义了
std::cout
std::setprecision
的舍入行为

C++11提供了一个名为
std::fesetround
的函数,可以使用

std::fesetround(feu TONEAREST)


在您的
std::cout
语句之前。有关更多详细信息,请参见。

Hmm,使用visual studio打印78.13,但打印78.12。这样,向上/向下取整行为由实现定义。如果是这种情况,你将不得不像他们那样手动对其进行四舍五入,我认为这是一个更好的副本…请注意,78.125可以用IEEE754浮点表示;在输出号码之前。请举例?我不能让它工作。