首先要加头文件: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的用法总结(经典!!超经典!!)

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

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

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

  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. CSS中position:fixed的相关用法

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

  7. STL之sstream的用法

    STL之sstream的用法 说在前面: 库定义了三种类:istringstream.ostringstream和stringstream,分别用来进行流的输入.输出和输入输出操作.另外,每个类都有一 ...

  8. poj3122-Pie(二分法+贪心思想)

    一,题意: 有f+1个人(包括自己),n块披萨pie,给你每块pie的半径,要你公平的把尽可能多的pie分给每一个人 而且每个人得到的pie来自一个pie,不能拼凑,多余的边角丢掉.二,思路: 1,输 ...

  9. C++编程学习(九)this指针&友元函数

    mooc西工大魏英老师的课程通道关闭了,难受.现在边看工程代码边重温刷第一遍C++时候的知识点,顺序没有按照大纲的来,想到哪写到哪. this是干啥用的? 简介:在 C++ 中,每一个对象都能通过 t ...

随机推荐

  1. js 固话正则

    var str = '82386012'; var partten = /(^(0\d{2})-(\d{8})$)|(^(0\d{3})-(\d{7})$)|(^(0\d{2})-(\d{8})-(\ ...

  2. 父元素相对定位后,子元素在ie下被覆盖的问题!

    <div id="append_parent" style="position: relative;"> <div id="zoom ...

  3. .Net中Remoting通信机制简单实例

    .Net中Remoting通信机制 前言: 本程序例子实现一个简单的Remoting通信案例 本程序采用语言:c# 编译工具:vs2013工程文件 编译环境:.net 4.0 程序模块: Test测试 ...

  4. 移动端webapp自适应实践(css雪碧图制作小工具实践)图文并茂

    为什么要写这个 以前写过关于webapp自适应屏幕的文章(链接),不过写的大多数群众看不懂,所以来个图文并茂的版本.虽然只是一个简单的页面,不过在做的过程中也遇到了一些问题,也算是好事吧! 该示例gi ...

  5. 高性能的JavaScript--数据访问(2)

    动态作用域 无论是with表达式还是try-catch表达式的catch子句,以及包含()的函数,都被认为是动态作用域.一个动态作用域只因为代码运行而存在.因此无法通过静态分析(查看代码机构)来确定( ...

  6. Spring MVC注解入门

    注解式开发初步 常用的两个注解: @Controller:是SpringMVC中最常用的注解,它可以帮助定义当前类为一个Spring管理的bean,同时指定该类是一个控制器,可以用来接受请求.标识当前 ...

  7. Qt实现端口扫描器

    首先展示一下效果: 界面通过Qt设计师做出来的. 主要有两个类. 首先主函数: #include "mainwindow.h" #include <QApplication& ...

  8. iOS设计模式

    一.代理模式 应用场景:当一个类的某些功能需要由别的类来实现,但是又不确定具体会是哪个类实现. 优势:解耦合 敏捷原则:开放-封闭原则 实例:tableview的 数据源delegate,通过和pro ...

  9. 商贸食品车销成功应用PDA抄单 现场开单 打印销售单安卓智能手持POS应用

    中小超市配送食品,酒水饮料,业务员以往是挨家挨户抄每个超市需要哪些东西,晚上回公司再统计,打到软件里面,开单配货. 选用PDA后,人手一台,直接在超市里面抄好货物,通过网络传输到公司软件上面,加快了工 ...

  10. C++模板分离

    在正常情况下,c++模板是不允许在头文件声明,在cpp文件中实现.那是因为在cpp文件在编译时内存必须要给它分配储存空间.但是模板本身是一种泛型,在没有明确定义声明类型前,编译器也无法知道它的大小.所 ...