详解C++中double类型,如何保留三位小数点

Crq
Crq
管理员
1871
文章
0
粉丝
Linux教程评论61字数 376阅读1分15秒阅读模式

我们知道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

weinxin
我的微信
微信号已复制
我的微信
这是我的微信扫一扫
 
Crq
  • 本文由 Crq 发表于2024年9月27日 20:07:14
  • 转载请注明:https://www.cncrq.com/10926.html
【技术快报】9.12-9.18 Linux教程

【技术快报】9.12-9.18

本期《linux就该这么学》的技术周报中,将为您推出Nginx源码安装及调优配置、国内三大云数据库测试对比、12个Linux进程管理命令介绍、怎样在Ubuntu中修改默认程序、在a...
最牛X的GCC 内联汇编 Linux教程

最牛X的GCC 内联汇编

正如大家知道的,在C语言中插入汇编语言,其是Linux中使用的基本汇编程序语法。本文将讲解 GCC 提供的内联汇编特性的用途和用法。对于阅读这篇文章,这里只有两个前提要求,很明显,...
10款优秀Vim插件帮你打造完美IDE Linux教程

10款优秀Vim插件帮你打造完美IDE

如果你稍微写过一点代码,就能知道“集成开发环境”(IDE)是多么的便利。不管是Java、C还是Python,当IDE会帮你检查语法、后台编译,或者自动导入你需要的库时,写代码就变得...
匿名

发表评论

匿名网友
:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:
确定

拖动滑块以完成验证