我们知道C语言中,如果要求输出结果保留三位小数,我们可以使用pritf()函数轻松的解决。但是C++的输出运算符<<并没有直接实现这个功能,怎么办呢?之前在找答案的过程中各路大神给出了千姿百态的答案,我不会进行一一总结,但是我今天主要的目的是说C++中std命名空间中直接实现了这个的!!!不要化简为繁!!!

我以一个例子作为讲解:

已知线段的两个端点坐标是A(xa,ya),B(xb,yb),求线段AB的长度,保留到小数点后3位。

样例输入:1    1

2    2

样例输出:1.414

代码如下:

#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;

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<<)<<result<<endl;
    ;
}

很多人会对下面这句代码不理解,

cout<<)<<result<<endl;

下面我们进行重点讲解:

设置小数点精度

设置要用于格式化输出操作的浮点值的小数精度

这个操纵符是在头文件<iomanip>中声明的。

#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;

int main(int argc, char** argv) {
    double a=3.1415926;
    cout << setprecision() << a <<endl;  //3.14
    cout << setprecision() << a <<endl;  //3.1415926
    cout << ) << a <<endl;  //3.142
    cout << ) << a <<endl;  //3.141592600
    ;
}

如果有什么疑问,欢迎留言。如需转载,请注明出处:http://www.cnblogs.com/wongyi/p/8204210.html

C++中double类型的数字如何保留三位小数点详解的更多相关文章

  1. React中使用 react-router-dom 路由传参的三种方式详解【含V5.x、V6.x】!!!

    路由传值的三种方式(v5.x) params参数 //路由链接(携带参数): <Link to='/demo/test/tom/18'}>详情</Link> //或 <L ...

  2. java中double类型显示两个小数,比如12.00

    Double类型的数据如何保留两位小数? 各位大虾,现有Double类型的数据,如何转换为保留两位小数的数,返回值的类型仍然是Double类型的,而不是字符串类型. 比如     0,返回“0.00” ...

  3. 关于java中Double类型的运算精度问题

    标题     在Java中实现浮点数的精确计算    AYellow(原作) 修改    关键字     Java 浮点数 精确计算   问题的提出:如果我们编译运行下面这个程序会看到什么?publi ...

  4. 关于java中Double类型的运算精度问题(转)

    Java Java double:浮点数:精确计算  public class Test{    public static void main(String args[]){        Syst ...

  5. Java中double类型的数据精确到小数点后两位

    Java中double类型的数据精确到小数点后两位 多余位四舍五入,四种方法 一: double f = 111231.5585;BigDecimal b = new BigDecimal(f); d ...

  6. JS格式化数字保留两位小数点示例代码

    格式化数字保留两位小数点实现的方法有很多,在接下来的文章中将为大家详细介绍下如何使用js来实现 a = a.toFixed(2);//保留2位但结果为一个String类型 a = parseFloat ...

  7. Scala 深入浅出实战经典 第81讲:Scala中List的构造是的类型约束逆变、协变、下界详解

    王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-97讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 ...

  8. js正则表达式 数字和小数点 非负数 保留两位小数点

    验证数字非负数  小数点保留两位小数点 下面正则已验证通过 /^(?!0+(?:\.0+)?$)(?:[1-9]\d*|0)(?:\.\d{1,2})?$/

  9. float四舍五入保留一位小数点(坑)

    Float四舍五入保留一位小数点 public class Test {    public static void main(String[] args){        double data1  ...

随机推荐

  1. Retrofit网络请求库应用01

    PS:什么是Retrofit? 在官方文档中有这样一句话--A type-safe HTTP client for Android and Java(一个类型安全的http client库),具体的话 ...

  2. 一个PHP高性能、多并发、restful的工具库(基于multi_curl)

    This is high performance curl wrapper written in pure PHP. It's compatible with PHP 5.4+ and HHVM. N ...

  3. 在Linux中使用线程

    我并不假定你会使用Linux的线程,所以在这里就简单的介绍一下.如果你之前有过多线程方面的编程经验,完全可以忽略本文的内容,因为它非常的初级. 首先说明一下,在Linux编写多线程程序需要包含头文件p ...

  4. (高级篇)php结合redis实现高并发下的抢购、秒杀功能

    抢购.秒杀是如今很常见的一个应用场景,主要需要解决的问题有两个:1 高并发对数据库产生的压力2 竞争状态下如何解决库存的正确减少("超卖"问题)对于第一个问题,已经很容易想到用缓存 ...

  5. Dynamics CRM可以设置会话超时和非活动超时吗?

    本人微信和易信公众号: 微软动态CRM专家罗勇 ,回复266或者20171213可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong.me ...

  6. 【luogu P1186】玛丽卡

    https://www.luogu.org/problem/show?pid=1186 考虑暴力,枚举图上每一条边删去后跑Dijkstra,取M次的最大值. 仔细想想就会发现删除最短路以外的边对最短路 ...

  7. Mecanim动画系统

    序言:Mecanim动画系统是Unity4.0之后退出的新版动画系统,非常适合人类动画系统.本文是作为自己的学习来讲解的, 可能会有些啰嗦,但尽量把自己的坑都为大家列出来,让大家理解透彻. 一.文件的 ...

  8. webrc视频数据发送处理流程详解

  9. 阿里云轻量应用服务器Lamp部署php工程踩过的坑

    第一次写博客,也不知道写什么,但是想坚持写博客来提升自己,不喜勿喷. 切回正题,使用阿里云的轻量应用服务器Lamp其实非常方便,价格也很便宜,一键购买需要的环境都帮你搭配好了,剩下的就是自己修改一下数 ...

  10. gsp页面标签

    gsp--Groovy Servers Pages <g:actionSubmit value=""/> 提交button <g:actionSubmit act ...