C++中浮点数的输出控制

一、方法一:使用cout的成员函数

1、cout的默认输出精度

double value = 12.3456789;// double的精度为16位
cout << value << endl;// cout的默认输出精度是 6,所以输出为 12.3457
//(默认情况下,精度是指总的有效数字)

2、cout成员函数precision()设置总精度

cout.precision(4);// precision精度的意思,把精度修改为4,对最后一位四舍五入
// 精度修改后,持续有效,直到精度再次被修改
cout << value << endl;// 输出12.35,

3、通过 std::cout 对象的 std::ios 基类来调用 flags 函数设置小数点位数

cout.precision(4);
cout.flags(cout.fixed);// 使用定点法, 精度变成小数点后面的位数
// cout.fixed调用基类的fixed;std::ios::fixed 是一个标志常量,表示以固定小数位数的形式输出浮点数。
cout << value << endl;// 输出 12.3457
// 定点法持续有效

4、取消定点法,精度变为总的有效数字

// 取消定点法,精度变为总位数
cout.unsetf(cout.fixed);
cout << value << endl; //输出 12.35
cout << 3.1415926535 << endl; //输出 3.142

二、使用头文件<iomanip>中的std::setprecision方法

double number = 3.1415926;
std::cout << std::setprecision(4) << std::fixed << number << std::endl;
/*
std::setprecision(4) 设置输出流的精度为4位,std::fixed 指定浮点数以固定小数位数的形式输出。输出将是 3.1416
*/

三、使用c的printf(建议)

double d = 3.141592657;
//cout << d << endl;// 输出3.14159
printf("%.8f",d);// 输出3.14159266

浮点数的输出控制,使用printf更为方便,控制输出小数的位数。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
目录 第1章 基本类型 1.1 一个例程 1.2 类型与声明 1.3 基本类型 1.3.1 整数类型 1.3.2 字符类型 1.3.3 浮点类型 1.3.4 布尔类型 1.3.5 void类型 1.4 数值极限 1.5 标识符和关键词 1.5.1 标识符 1.5.2 关键词 1.6 练习 第2章 表达式和语句 2.1 作用域和存储分类 2.1.1 局部变量和全局变量 2.1.2 外部变量和寄存器变量 2.2 表达式 2.2.1 算术表达式 .2.2.2 关系表达式 2.2.3 逻辑表达式 2.2.4 位运算表达式 2.2.5 逗号表达式 2.3 语句 2.3.1 声明和初始化 2.3.2 赋值语句 2.3.3 复合赋值语句 2.3.4 增值减值语句 2.3.5 复合语句 2.3.6 条件语句 2.3.7 循环语句 2.4 斐波纳契数 2.5 练习 第3章派生类型 3.1 常量和宏 3.2 枚举类型 3.3 数组 3.4 结构 3.5 联合和比特域 3.6 指针 3.6.1 指针运算 3.6.2 多重指针 3.6.3 偏移量指针 3.6.4 常量指针 3.6.5 void指针和空指针 3.6.6 结构指针 3.6.7 字符指针 3.6.8 指针和数组 3.7 引用 3.8 函数 3.8.1 函数声明和定义 3.8.2 函数重载 3.8.3 参数传递 3.8.4 返回值 3.8.5 递归函数 3.8.6 内联函数 3.8.7 缺省参数 3.8.8 函数类型 3.8.9 静态局部变量 3.8.10 main函数 3.9 程序的运行空间 3.10 运算符概要及优先级 3.11 标准数学函数库 3.12 多项式求值 3.13 梯形公式和simpson公式 3.14 练习 第4章 命名空间和文件 4.1 命名空间 4.1.1 使用声明和指令 4.1.2 多重接口 4.1.3 命名空间别名 4.1.4 无名命名空间 4.1.5 名称查找 4.2 包含文件 4.2.1 包含标准库文件 4.2.2 用户自定义头文 4.2.3 条件包含指令 4.2.4 文件包含 4.3 源文件和连接 4.3.1 独立编译 4.3.2 外部连接和内部连接 4.3.3 与其他语言连接 4.4 一些有用的工具 4.4.1 给程序计时的方法 4.4.2 编译选项和调试器 4.4.3 创建库 4.4.4 makefile 4.5 字符串标准函数库 4.5.1 声明和初始化 4.5.2 操作 4.5.3 c语言字符串 4.5.4 输入输出 4.5.5 c字符串函数库 4.6 流标准函数库 4.6.1 整数格式化输出 4.6.2 浮点数格式化输出 4.6.3 输出宽度 4.6.4 文件的输入输出 4.6.5 字符的输入输出 4.6.6 字符串流 4.7 非线性方程的迭代解法 4.7.1 二分法 4.7.2 牛顿法 4.8 练习 第5章 类 5.1 类的声明与定义 5.2 拷贝构造函数和拷贝赋值 5.3 友元 5.4 静态成员 5.5 常量和可变成员 5.6 类的对象作为成员 5.7 类的数组 5.8 成员指针 5.9 常微分方程的数值解法 5.10 练习 第6章 运算符重载 6.1 复数 6.1.1 初始化 6.1.2 缺省拷贝构造和赋值 6.1.3 转换和混合模式运算 6.2 运算符函数 6.3 向量和矩阵 6.4 显式和隐式类型转换 6.5 效率和运算符重载 6.6 共扼梯度算法 6.7 练习 第7章 模板 7.1 类模板 7.1.1 成员和友元定义 7.1.2 模板实例化 7.1.3 模板参数 7.1.4 类型等价 7.1.5 用户定义的特化 7.1.6 特化顺序 7.2 函数模板 7.2.1 函数模板参数 7.2.2 函数模板重载 7.2.3 特化 7.2.4 类模板作为函数模板参数 7.2.5 成员函数模板 7.2.6 友元函数模板 7.3 模板源代码组织 7.4 标准复数库 7.5 标准ualarray库 7.5.1 ualarray类型 7.5.2 分段数组 7.5.3 广义分段数组 7.5.4 掩码数组和间接数组 7.6 数值算法标准函数库 7.6.1 累加 7.6.2 内积 7.6.3 部分和 7.6.4 临近差分 7.7 数值积分的高效技术 7.7.1 函数对象方法 7.7.2 函数指针作为模板参数 7.7.3 使用点积和模板表达式 7.7.4 采用点积和模板元程序 7.8 多项式插值 7.8.1 拉格朗日形式 7.8.2 牛顿形式 7.9 练习 第8章 类的继承 8.1 派生类 8.1.1 成员函数 8.1.2 构造函数和析构函数 8.1.3 拷贝 8.1.4 类层次结构 8.1.5 虚函数 8.1.6 虚析构函数 8.2 抽象类 8.3 访问控制 8.3.1 访问成员 8.3.2 基类访问 8.4 多重继承 8.4.1 去除二义性 8.4.2 重复基类 8.4.3 虚基类 8.4.4 多重继承的访问控制 8.5 运行时的类型信息 8.5.1 动态投影机制 8.5.2 类型标识机制 8.5.3 运行时负担 8.6 用静态多态代替虚函数 8.7 练习 第9章 异常处理 9.1 抛出和捕获 9.2 派生异常 9.3 捕获异常 9.3.1 重抛出 9.3.2 捕获所有异常 9.3.3 处理函数的顺序 9.4 在函数指定异常 9.5 标准异常 9.6 练习 第10章 容器和算法标准库 10 标准容器 10.1 向量 10.2 链表 10.1.3 映射与集合 10.1.4 栈和队列 10.2 标准算法 10.2.1 排序、复制和替换算法 10.2.2 搜索和遍历算法 10.2.3 集合、排列和堆算法 10.3 标准函数对象和适配器 10.3.1 算术函数对象 1o.3.2 关系函数对象 10.3.3 逻辑函数对象 10.3.4 标准适配器 10.4 练习 第11章 线性方程组求解法 11.1 矩阵存储格式 11.1.1 满矩阵 11.1.2 带状矩阵 11.1.3 稀疏矩阵 11.2 矩阵类层次 11.3 迭代算法 11.3.1 共轭梯度方法 11.3.2 广义最小残差法 11.3.3 预处理技术 11.4 高斯消元法 11.4.1 lu分解 11.4.2 高斯消元法 11.4.3 主元高斯消元法 11.5 求解偏微分方程的有限差分方法 11.6 练习 参考文献
Visual C++,很多例子工程,由简单到复杂. 如果读者需要使用光盘的源代码,请将相关目录及其包含的内容复制到您的硬盘上,并修改对应的硬盘目录属性——取消目录及其所包含子目录和文件的“只读”属性。否则,打开VC项目时由于无法进行文件的“写”操作,会导致提示出错信息。 下面是对光盘主要实例的简要说明: 实例2-1:演示C++程序的运行步骤。源代码在光盘“\02\firstcpp”目录下。 实例2-2:Visual C++语言基本元素介绍。源代码在光盘“\02\secondcpp”目录下。 实例2-3:cout控制符setw的使用。源代码在光盘“\02\thirdcpp”目录下。 实例2-4:增加域内填充字符。源代码在光盘“\02\fourthcpp”目录下。 实例2-5:同一数据用不同进制输出结果。源代码在光盘“\02\fifthcpp”目录下。 实例2-6:用浮点数的形式输出数据。源代码在光盘“\02\sixthcpp”目录下。 实例2-7:数据的输入及输出。源代码在光盘“\02\seventhcpp”目录下。 实例2-8:计算学生平均成绩。源代码在光盘“\02\eighthcpp”目录下。 实例2-9:函数的调用。源代码在光盘“\02\ninthcpp”目录下。 实例2-10:用指针传递参数。源代码在光盘“\02\tenthcpp”目录下。 实例2-11:全局变量和局部变量。源代码在光盘“\02\eleventhcpp”目录下。 实例2-12:使用指针注意内存的分配。源代码在光盘“\02\twelfthcpp”目录下。 实例2-13:引用实例。源代码在光盘“\02\thirteencpp”目录下。 实例2-14:虚函数的使用实例。源代码在光盘“\02\fourteencpp”目录下。 实例3-1:利用向导生成的应用程序框架实例。源代码在光盘“\03\test”目录下。 实例4-1:文档的存取。源代码在光盘“\04\CDocument”目录下。 实例4-2:简单的文本编辑器。源代码在光盘“\04\CEditView”目录下。 实例5-1:菜单实例。源代码在光盘“\05\test1”目录下。 实例5-2:图片浏览器。源代码在光盘“\05\picture”目录下。 实例5-3:工具栏资源编辑器。源代码在光盘“\05\prop”目录下。 实例5-4:工具条的编程技术。源代码在光盘“\05\record”目录下。 实例5-5:给状态栏添加时间窗格。源代码在光盘“\05\pane”目录下。 实例6-1:创建模态对话框。源代码在光盘“\06\dialog_1”目录下。 实例6-2:创建非模态对话框。源代码在光盘“\06\dialog_2”目录下。 实例6-3:通用对话框展示。源代码在光盘“\06\dialog_3”目录下。 实例6-4:创建一般属性页对话框。源代码在光盘“\06\dialog_4”目录下。 实例6-5:创建向导对话框。源代码在光盘“\06\dialog_5”目录下。 实例7-1:标准控件实例。源代码在光盘“\07\CtrlTest”目录下。 实例8-1:区域探测实例。源代码在光盘“\08\finding”目录下。 实例8-2:键盘字符的输入与显示。源代码在光盘“\08\keyboard”目录下。 实例9-1:字体展示。源代码在光盘“\09\text”目录下。 实例9-2:文字动画。源代码在光盘“\09\characters”目录下。 实例9-3:画刷使用实例。源代码在光盘“\09\Color”目录下。 实例10-1:打印实例。源代码在光盘“\10\print”目录下。 实例11-1:存取SDI程序文档实例。源代码在光盘“\11\SerialSDI”目录下。 实例11-2:文件操作实例。源代码在光盘“\11\FileManipulate”目录下。 实例12-1:使用用户界面线程实例。源代码在光盘“\12\InterfaceThread”目录下。 实例12-2:使用工作者线程实例。源代码在光盘“\12\ControlThread”目录下。 实例12-3:多线程实例。源代码在光盘“\12\WQDemo”目录下。 实例12-4:线程间的通信。源代码在光盘“\12\ThreadCommu”目录下。 实例13-1:动态链接库(Dll)实例。源代码在光盘“\13\dlltest ”目录下。 实例13-2:鼠标钩子应用实例。源代码在光盘“\13\MouseHook”目录下。 实例13-3:键盘钩子应用实例。源代码在光盘“\13\KeyboardHook”目录下。 实例14-1:WinSock网络程序:聊天室。源代码在光盘“\14\WinSocketChat”目录下。 实例14-2:利用MSComm控件进行串口数据传输。源代码在光盘“\14\MSComm”目录下。 实例14-3:简单的WinInet应用程序。源代码在光盘“\14\SimpleNet”目录下。 实例15-1:创建Access数据库。源代码在光盘的“\15\Info”。 实例15-2:MFC的ODBC数据库实例。源代码在光盘“\15\Enroll”目录下。 实例15-3:利用ADO查询并操作数据库实例。源代码在光盘“\15\AdoTest”目录下。 FTP应用实例:FTP客户端程序,源代码在光盘目录“\16”下。 人事管理系统:源代码在光盘目录“\17”下。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cyt涛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值