使用#iostream设置小数点

时间:2015-08-31 22:56:15

标签: c++

我需要让cout在小数点后面有两位数,即:

值:2.3成为:2.30。 我找到了一些使用iomanip等的解决方案。

但是,我需要一种简单的方法,只使用iostream

centage = (abc/ cdf)*100;
cout << "total is "<<abc<<" of "<<cdf<<", or "<<centage <<"%";

3 个答案:

答案 0 :(得分:3)

std::setprecision()操纵器只是方便将精度与其他输出一起设置。您也可以直接在流上设置精度:

std::cout.precision(2);

答案 1 :(得分:2)

只需使用stream manipulators

cout << setprecision(2) << fixed << centage;

小数点后面会显示2位数字,如fixed表示法,操纵符setprecision()指定小数点后的位数。

我怀疑iostream是否直接提供了调节的设施 小数精度。因此,在我看来除了已经提供的操纵器之外没有更简单的方法。

另一个非正统的解决方案是使用字符串操作做一些事情,例如你可以转换为字符串并连接一些(无意义的)0,直到你得到想要的“精度”并将结果作为字符串返回。

答案 2 :(得分:0)

此处您只使用iostream,而不是cout使用printf

printf("%.2f\n", centage);