我需要让cout
在小数点后面有两位数,即:
值:2.3成为:2.30。
我找到了一些使用iomanip
等的解决方案。
但是,我需要一种简单的方法,只使用iostream
。
centage = (abc/ cdf)*100;
cout << "total is "<<abc<<" of "<<cdf<<", or "<<centage <<"%";
答案 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);