共计 869 个字符,预计需要花费 3 分钟才能阅读完成。
我们知道 C 语言中,如果要求输出结果保留三位小数,我们可以使用 pritf() 函数轻松的解决。但是 C ++ 的输出运算符 << 并没有直接实现这个功能,怎么办呢?之前在找答案的过程中各路大神给出了千姿百态的答案,我不会进行一一总结,但是我今天主要的目的是说 C ++ 中 std 命名空间中直接实现了这个的!!!不要化简为繁!!!
我以一个例子作为讲解:
已知线段的两个端点坐标是 A(xa,ya),B(xb,yb),求线段 AB 的长度,保留到小数点后 3 位。
样例输入:1 1
2 2
样例输出:1.414
代码如下:
int main(int argc, char** argv) {
double xa,ya,xb,yb,result;
cin>> xa>>ya>>xb>>yb;
result=sqrt((xb-xa)*(xb-xa)+(yb-ya)*(yb-ya) );
cout<<fixed<<setprecision(3)<<result<<endl;
return 0;
}
很多人会对下面这句代码不理解,
cout<<fixed<<setprecision(3)<<result<<endl;
下面我们进行重点讲解:
设置小数点精度
设置要用于格式化输出操作的浮点值的小数精度。
int main(int argc, char** argv) {
double a=3.1415926;
cout << setprecision(3) << a <<endl; //3.14
cout << setprecision(9) << a <<endl; //3.1415926
cout << fixed << setprecision(3) << a <<endl; //3.142
cout << fixed << setprecision(9) << a <<endl; //3.141592600
return 0;
}
如果有什么疑问,欢迎留言。如需转载,请注明出处:http://www.cnblogs.com/wongyi/p/8204210.html
正文完
星哥玩云-微信公众号