c++如何控制输出浮点数小数点后若干位

 更新时间:2023年09月09日 17:08:20   作者:songlu2333  
这篇文章主要介绍了c++如何控制输出浮点数小数点后若干位问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

C++输出实现保留小数点后若干位

此方法主要参见《c++primer中文版》第五版670页的内容,使用<iomanip>标准库中的fixed操纵符与setprecision操纵符。

setprecision操纵符

setprecision操纵符可以指定浮点数的打印精度(总的位数),四舍五入且超过原有位数不会补零。

fixed操纵符

fixed操纵符可以改变流的状态以使用定点十进制表示浮点数,默认精度是小数点后6位,不足补零。

除此之外,iomanip中还有其他针对浮点数显示的操作符,例如scientific(科学记数法显示)、hexfloat(16进制显示),defaultfloat(恢复默认状态)。

fixed+setprecision

fixed系列的操作符会改变流的精度的默认含义,默认情况下,精度是指数字的总位数,包括小数部分位数与整数部分位数。

但在使用fixed、scientific、hexfloat后,精度值只控制小数部分,于是我们可以同时使用fixedsetprecision控制小数点后的位数,下图设置小数点后5位输出浮点数。

c++输出浮点数值“保留n位小数”或“保留n位有效位”

我们经常在输出浮点数值时,需要保留3位 / 2位等小数,或者保留几位有效位。这里有一个比较好用的方法。首先需要包含 iomanip 头文件。

1、保留n位小数位

使用fixed 和 setprecision(n)方法,参数n表示保留的小数位个数。

#include <iostream>
#include <iomanip>
using namespace std;
void main()
{
	double PT = 3.14159267;
	//保留三位小数
	cout << fixed <<setprecision(3) << PT <<endl;
	//保留三位有效位
//	cout << setprecision(2) << PT <<endl;
	getchar();
}

结果:

2、保留n位有效位

只使用setprecision(n)方法,参数n表示保留的有效位个数。

#include <iostream>
#include <iomanip>
using namespace std;
void main()
{
	double PT = 3.14159267;
	//保留三位小数
//	cout << fixed <<setprecision(3) << PT <<endl;
	//保留两位有效位
	cout << setprecision(2) << PT <<endl;
	getchar();
}

结果:

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • C语言实现学生信息管理程序

    C语言实现学生信息管理程序

    这篇文章主要为大家详细介绍了C语言实现学生信息管理程序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-03-03
  • C语言通过案例讲解并发编程模型

    C语言通过案例讲解并发编程模型

    所谓并发编程是指在一台处理器上“同时”处理多个任务。并发是在同一实体上的多个事件。多个事件在同一时间间隔发生,下面我们根据样例来理解
    2022-04-04
  • 关于《C和指针》的学习笔记

    关于《C和指针》的学习笔记

    本篇文章是对《C和指针》这本书的学习做了笔记介绍。需要的朋友参考下
    2013-05-05
  • C语言开发简易版扫雷小游戏

    C语言开发简易版扫雷小游戏

    本文给大家分享的是一个使用C语言开发的命令行下的简易版扫雷小游戏,本身没有什么太多的技术含量,只不过是笔者的处女作,所以还是推荐给大家,希望对大家学习C能够有所帮助。
    2015-12-12
  • 基于Matlab实现有雪花飘落的圣诞树的绘制

    基于Matlab实现有雪花飘落的圣诞树的绘制

    圣诞节快到了(虽然还有十天),一起来用MATLAB画个简单圣诞树叭~代码几乎取消了全部的循环,因此至少需要17b之后的版本,仅存的循环用来让树旋转起来,让雪花飘落起来,让树顶上的星光摇曳起来~感兴趣的可以试一试
    2022-12-12
  • C++实现LeetCode(100.判断相同树)

    C++实现LeetCode(100.判断相同树)

    这篇文章主要介绍了C++实现LeetCode(100.判断相同树),本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-07-07
  • C 语言结构体的使用方法

    C 语言结构体的使用方法

    这篇文章主要介绍了C 语言结构体的使用,文章介绍了结构体定义的多种类型,想具体了解的朋友请看下面文章的内容
    2021-09-09
  • C语言函数指针数组实现计算器功能

    C语言函数指针数组实现计算器功能

    这篇文章主要通过C语言函数指针数组实现了计算器的功能,是一个很好而且流程详细的小例子,感兴趣的新手朋友们可以自己动手也写一遍
    2022-04-04
  • C++实现LeetCode(170.两数之和之三 - 数据结构设计)

    C++实现LeetCode(170.两数之和之三 - 数据结构设计)

    这篇文章主要介绍了C++实现LeetCode(170.两数之和之三 - 数据结构设计),本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • 浅谈C++变量作用域

    浅谈C++变量作用域

    这篇文章主要介绍了C++变量作用域的的相关资料,文中代码非常细致,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-06-06

最新评论