2014-10-04 82 views
1
#include <cstdio> 
int main(){ 
    float f = 12.f; 
    printf("%.2f", f); 
} 

输出12.00C++的cout像C的printf

我怎么能做到这一点与C++ STL使用COUT?

尝试:

#include <iostream> 
#include <iomanip> 
#include <ios> 
using namespace std; 
int main(){ 
    float f = 12.f; 
    cout << setprecision(2) << f << endl; 
} 

回答

4

首先,你有无效的语法。 12f应该是12.f。或12.0f。其次,为了以定点符号显示您的号码,请使用std::fixed。即:

#include <iostream> 
#include <iomanip> 
// <ios> header not needed 
int main() 
{ 
    float f = 12.f; 
    cout << std::fixed << std::setprecision(2) << f << endl; 
} 
+0

带'f'后缀但没有小数点的文字不是有效的浮点数字吗?该死,我不知道。 – user2079303 2014-10-04 12:09:07