首先要加头文件:iomanip

一:setprecision

作用:控制输出流显示浮点数的数字个数,setprecision(n)就是输出的n个数,会有四舍五入。

比如:double s=20.7843000,

cout<<setprecision(1)<<s<<endl;会输出2e+001,因为要输出一个数字,所以只有2.

cout<<setprecision(2)<<s<<endl;会输出21。

cout<<setprecision(3)<<s<<endl;会输出20.8。

cout<<setprecision(6)<<s<<endl;会输出20.7843。

cout<<setprecision(7)<<s<<endl;会输出20.7843。

cout<<setprecision(8)<<s<<endl;会输出20.7843。

可见,小数部分末尾为0时,是输不出来的!

要想输出来,就得用showpoint了。

特别提示

(如果再在这些语句后面加个两个语句:

cout<<1<<endl;

cout<<1.00800<<endl;

猜到会输出什么吗?

第一条输出:1。不是浮点型。

第二条为:1.008。承接setprecision(8)的这条规则语句。

注:

如果直接有语句

int main()

{

cout<<1<<endl;

cout<<1.00<<endl;

}

第一条输出:1。

第二条也为:1。按整型输出

二:setprecision与showpoint

语法:在输出语句前声明:cout.setf(ios::showpoint);就行了!

还比如:double s=20.7843000,

cout.setf(ios::showpoint);

cout<<setprecision(1)<<s<<endl;就会输出2.e+001,注意,2和e之间多了一个“.”。

cout<<setprecision(2)<<s<<endl;会输出21.。多个点!

cout<<setprecision(3)<<s<<endl;会输出20.8。

cout<<setprecision(6)<<s<<endl;会输出20.7843。

cout<<setprecision(7)<<s<<endl;会输出20.78430。

cout<<setprecision(8)<<s<<endl;会输出20.784300。

可见,就会输出想要的数据数目!

特别提示

(如果再在这些语句后面加个两个语句:

cout<<1<<endl;

cout<<1.0080<<endl;

猜到会输出什么吗?

第一条输出:1。不是浮点型。

第二条也为:1.0080000。承接setprecision(8)的这条规则语句。

三:setprecision与fixed

如果想要保留几位小数,那setprecision就得与fixed合作了!!

语法:在输出语句前声明:cout.setf(ios::fixed);

比如:double s=20.7843909

cout.setf(ios::fixed);

cout<<setprecision(1)<<s<<endl;就会输出2.8  。

cout<<setprecision(2)<<s<<endl;会输出21.78。多个点!

cout<<setprecision(3)<<s<<endl;会输出20.784。

cout<<setprecision(6)<<s<<endl;会输出20.784391。

cout<<setprecision(7)<<s<<endl;会输出20.7843909。

cout<<setprecision(8)<<s<<endl;会输出20.78439090。

特别提示

(如果也再在这些语句后面加个两个语句:

cout<<1<<endl;

cout<<1.008<<endl;

猜到会输出什么吗?

第一条输出:1。

第二条为:1.00800000。

就是承接了setprecision(8)的这条规则语句,是浮点型的都会保留8个小数。是整型的还是整型!)

语句也可以写成:cout<<fixed<<setprecision(2)<<s<<endl;

就算后面的语句没有写<<fixed,同样会按有<<fixed处理。

比如有语句:

cout<<fixed<<setprecision(2)<<s<<endl;

A:cout<<setprecision(7)<<s<<endl;

B:cout<<setprecision(8)<<s<<endl;

AB语句均会按保留7个,8个小数处理,不会再按有7或8个浮点数处理。

如果下面有语句c:

cout<<1.008<<endl;也会保留8个小数。

四:setprecision、showpoint与fixed

{cout<<fixed<<setprecision(2)<<123.456<<endl;//输出的结果是123.46
cout<<showpoint<<12345.0006666<<endl;//输出12345.0
cout<<fixed<<setprecision(2)<<123.456<<endl;}

比如:double s=20.7843909

1.有语句

cout<<setprecision(2)<<s<<endl;//输出21

cout<<fixed<<s<<endl;//输出20.78

2.有语句:

cout<<setprecision(2)<<s<<endl;//输出21

cout<<showpoint<<s<<endl;//输出21.(有个点)

3.有语句:

cout<<fixed<<s<<endl;//输出20.78391
cout<<showpoint<<s<<endl;//输出20.78391
4.有语句:

cout<<setprecision(2)<<s<<endl;//输出21
cout<<fixed<<s<<endl;//输出20.78
cout<<showpoint<<s<<endl;//输出20.78

5.有语句:

cout<<setprecision(2)<<s<<endl;//输出21
cout<<showpoint<<s<<endl;//21.(有个点)
cout<<fixed<<s<<endl;//20.78

setprecision、fixed、showpoint的用法总结(经典!!超经典!!)的更多相关文章

  1. setprecision、fixed、showpoint的用法总结(经典!!超经典!!)【转】

    本文转载自:http://blog.csdn.net/u011321546/article/details/9293547 首先要加头文件:iomanip 一:setprecision 作用:控制输出 ...

  2. setprecision、fixed、showpoint的用法总结

    首先要加头文件:iomanip 一:setprecision 作用:控制输出流显示浮点数的数字个数,setprecision(n)就是输出的n个数,会有四舍五入. 比如:double s=20.784 ...

  3. css中table-layout:fixed 属性的用法

    table-layout:fixed 属性的用法:如果想要一个table固定大小,里面的文字强制换行(尤其是在一长串英文文本,并且中间无空格分隔的情况下),以达到使过长的文字 不撑破表格的目的,一般是 ...

  4. setprecision **fixed

    #include <iostream> #include <iomanip> using namespace std; int main( void ) { const dou ...

  5. C / C++ 保留小数函数(setprecision(n)的一些用法总结)

    从C语言开始正式学习C++,但是一上来输出位数就懵了,查资料才知道C++需要使用 “ setprecision  ”函数.自己总结一下. 首先说C++代码 #include <iomanip&g ...

  6. 王家林 大数据Spark超经典视频链接全集[转]

    压缩过的大数据Spark蘑菇云行动前置课程视频百度云分享链接 链接:http://pan.baidu.com/s/1cFqjQu SCALA专辑 Scala深入浅出经典视频 链接:http://pan ...

  7. CSS中position:fixed的相关用法

    CSS中的三大重点知识: 1.float,浮动 2.盒子模型 3.position绝对定位 今天主要写下position中fixed相关知识: position:static,relative,abs ...

  8. 超经典~超全的jQuery插件大全

    海量的jQuery插件帖,很经典,不知道什么时候开始流传,很早以前就收藏过,为了工作方便还是发了一份放在日志里面. 其中有些已经无法访问,或许是文件移除,或许是被封锁.大家分享的东西,没什么特别的可说 ...

  9. 一个超经典 WinForm 卡死问题的再反思

    一:背景 1.讲故事 这篇文章起源于昨天的一位朋友发给我的dump文件,说它的程序出现了卡死,看了下程序的主线程栈,居然又碰到了 OnUserPreferenceChanged 导致的挂死问题,真的是 ...

随机推荐

  1. oracle 数据库技术支持生命周期表

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGl4b3Jh/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/d ...

  2. web学习总结之布局

    浅谈web布局中的“float”属性 对于刚学习web前端的同学,布局和排版都是一个难点.虽然我们能够通过各种调试实现我们希望得到的页面效果,但是如果不把其中的道理弄清楚的话,在下次布局的时候,也无法 ...

  3. Fedora21无法播放MP4[已解决]

    首先,安装安装rpmfusion源 http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-21.noarch.rpm ht ...

  4. 【剑指offer】员工年龄排序

    典型的以空间换时间问题,思路非常重要! /* 员工年龄排序 员工可能有几万名,要求时间复杂度为O(n) 思路:员工的年龄必定在一个范围内,比方0-99,那么我们建立一个大小为100的辅助数组,然后遍历 ...

  5. [转]C/C++:构建你自己的插件框架

    本文译自Gigi Sayfan在DDJ上的专栏文章.Gigi Sayfan是北加州的一个程序员,email:gigi@gmail.com. 本文是一系列讨论架构.开发和部署C/C++跨平台插件框架的文 ...

  6. HTML表单元素

    HTML表单元素 表单元素同意的形式向用户(例:文本字段,下拉列表,单箱,检查盒等)输入元素信息 表单标签 文本域(Text Fields) 当用户要在表单中键入字母,数字等内容时,就会用到文本域 单 ...

  7. js 设为首页、加入收藏

    //  加入收藏 <a onclick="AddFavorite(window.location,document.title)">加入收藏</a>func ...

  8. 使用fixed制作浮动广告(注意:解决闪屏问题,但适用于高版本浏览器,低版本的浏览器不适用)

    <script language="javascript" type="text/javascript"> //隐藏广告 function clos ...

  9. logistic回归 c++ 实现

    logistic回归是统计学习中经典的分类方法,他属于对数线性模型.本博文主要给出logistic的c++实现,具体理论请读者自行google. 本文用到的数据集来自于一个医学网站,具体出处不记得了( ...

  10. 分析Sizzle引擎

    jQuery 2.0.3 源码分析Sizzle引擎 - 打造高效查询 为什么Sizzle很高效? 首先,从处理流程上理解,它总是先使用最高效的原生方法来做处理 HTML文档一共有这么四个API: ge ...