C++中如何控制数位的输出

C++规定输出的数据的有效数字位数 文章目录前言一、有效数字是什么?二、代码实现1.源代码2.使用示例总结 前言 规定有效数字不同于规定小数的位数,对于初学者而言,对后者可能接触较多,而对于前者,可能接触甚少。 一、有效数字是什么? 有效数字是指在分析工作中实际能够测量到的数字。能够测量到的是包括最后一位估计的,不确定的数字。 如保留六位有效数字,例如 114.5149 应该输出为 114.515,9198.10 应该输出为 9198.1。即限制位数,且需四舍五入,末尾0舍去。 二、代码实现 1.源代码 #include <io 阅读详情
#include <iostream>
#include <iomanip>
using namespace std;

int main( void )
{
    const double value = 12.3456789;

    cout << " " << " " <<value << endl; // 默认以6精度,所以输出为 12.3457
    cout << 0 <<  " " <<setprecision(0) << value << endl;
    cout << 1 <<  " " <<setprecision(1) << value << endl;
    cout << 2 <<  " " <<setprecision(2) << value << endl;
    cout << 3 <<  " " <<setprecision(3) << value << endl;
    cout << 4 <<  " " <<setprecision(4) << value << endl; // 改成4精度,所以输出为12.35
    cout << 5 <<  " " <<setprecision(5) << value << endl;
    cout << 8 <<  " " <<setprecision(8) << value << endl; // 改成8精度,所以输出为12.345679
    cout << fixed << setprecision(4) << value << endl; // 加了fixed意味着是固定点方式显示,所以这里的精度指的是小数位,输出为12.3457
    cout << value << endl; // fixed和setprecision的作用还在,依然显示12.3457
    cout.unsetf( ios::fixed ); // 去掉了fixed,所以精度恢复成整个数值的有效位数,显示为12.35
    cout << value << endl;
    cout.precision( 6 ); // 恢复成原来的样子,输出为12.3457
    cout << value << endl;
}
在用浮点表示的输出中,setprecision(n)表示有效位数。
第1行输出数值之前没有设置有效位数,所以用流的有效位数默认设置值6:第2个输出设置了有效位数0,C++最小的有效位数为1,所以作为有效位数设置为1来看待:第3~6行输出按设置的有效位数输出。
在用定点表示的输出中,setprecision(n)表示小数位数。
第7行输出是与setiosflags(ios::fixed)合用。所以setprecision(8)设置的是小数点后面的位数,而非全部数字个数。
在用指数形式输出时,setprecision(n)表示小数位数。
第8行输出用setiosflags(ios::scientific)来表示指数表示的输出形式。其有效位数沿用上次的设置值8

setw(n)是设置域宽。
就是你的输出要占多少个字符
比如:
cout<<setw(5)<<12345<<endl;
就输出
12345
cout<<setw(6)<<12345<<endl;
输出
12345
而如果你要输出的字符宽度超出了setw(n)的n值,就按输出字符的宽度输出。
如你的cout<<setw(4)<<12.3456<<endl;

就输出12.3456

下文来自accelerated c++

#include<iostream>
#include<iomanip>
#include<ios>
#include<string>
using namespace std;
int main()
{
	cout<<"please enter your firsr name : ";
	string name;
	cin>>name;
	cout<<"Hello, "<<name<<" !"<<endl;
	cout<<"enter all your homework grades,"	
	" followed by end-of-file:";
	double midterm,final;
	cin>>midterm>>final;
	int count = 0;
	double sum = 0.0;
	double x;
	while(cin>>x)
	{
		++count;
		sum += x;
	}
	streamsize prec = cout.precision();  //设置一个变量,存储原来应该输出的位数值。 
	cout<<"Your final grade is "<<fixed<<setprecision(3)<<0.2 * midterm + 0.4 * final + 0.4 * sum / 1.0 * count<<setprecision(prec)<<endl;
        //最后的那句(setprecision(pre))与前一句(streamsize prec = cout.precision();)相对应 。表示还原成原来的数位 。
	cout<<0.2 * midterm + 0.4 * final + 0.4 * sum / 1.0 * count<<endl;
	return 0;
}

第一个 输出的 数有小数点后三位,第二个 则是 带有 小数点 后六位 的 数 (因为 默认的 是 小数点 后六位)  

网上查到的组合而成,非原创,备以后用。望理解。

c/c++输出保留指定位小数(输出精度控制) c++ C++的精度控制需要头文件 #include<iomanip> 输出时使用setprecision()和fixed进行精度控制和补0 在使用时,可以提前声明,也可以直接写在输出流中 float a=0.123; cout<<a<<endl;//输出 0.123 cout<<setprecision(5)<<a<<e... 阅读详情

相关推荐

C++输出位数控制

这么点简单的东西总是记不清,气死人了,干脆粘贴在这好了 #include #include using namespace std; int main() { cout //cout cout 3.1415926  cout cout cout } setw(n)用法: 通俗地讲就是预设宽度 如

独坐大雄风 1955

c++数字输出位数控制以及保留小数位

c++中的控制输出位数以及输出保留几位小数:: 文件——是I/O流控制头文件 使用函数:setprecision(x) “precision”的意思是“精度”,那么加上前面的“set”的意思也就明确了——设置精度 用setprecision(3)可以设置保留几位有效数字(这里是3) fixed则可以控制保留小数的位数,位数是由setprecision括号里的数字控制的 #include<io...

qq_45337491的博客 4904

C++ 输出小数控制位数

从零学习 T_T 太难受了 C++控制输出小数位数 例如求三个整数的平均数,输出结果保留三位小数 #include #include using namespace std; int main() { float a,b,c; cin>>a>>b>>c; cout<<“平均数=”; float avg; avg=(a+b+c)/3; cout<...

weixin_42199134的博客 444

C++最常用的控制输出

setprecision函数是用来控制输出位数的,当不和fixed联用时控制整个数的有效位数,和fixed联用时,专门控制小数位数。注意fixed执行后会持续影响整个代码的输出流。头文件<iostream>

weixin_73646032的博客 290

安信可TB蓝牙模组系列 实战Ble Mesh智能照明系统搭建

本文详细介绍了如何使用安信可TB蓝牙模组系列搭建Ble Mesh智能照明系统。从硬件准备、固件烧录到手机APP组网全流程,提供了实战步骤和优化建议,特别适合智能家居开发者入门。Ble Mesh的自组网能力解决了蓝牙传输距离限制,实现全屋灯光智能控制。

weixin_30856725的博客 353

Synopsys PCIe IP 实战笔记:手把手教你配置本地数字回环(PIPE/RMMI)

本文详细介绍了Synopsys PCIe IP本地数字回环(PIPE/RMMI)的配置与调试全流程,涵盖硬件连接、寄存器操作及实战技巧。通过数字回环模式,开发者可在无真实对端设备的情况下验证PCIe接口功能,适用于芯片验证和FPGA原型开发。文章还提供了常见问题排查和性能优化建议,助力高效完成协议解析与调试。

weixin_30394669的博客 323

C++控制输出小数位数

C++风格的小数位输出控制利用cout函数输出指定为是的小数; C++风格输出txt文件是指定输出位数; 代码如下: #include &lt;iomanip&gt; double dd = 0.123456789; float ff = 1.2f; cout &lt;&lt; "Original data:" &lt;&lt; endl; cout &lt;&lt; dd &lt;&...

sunzhao1000的博客 8717

【Unity】YooAsset + HybridCLR热更

本文介绍了Unity游戏开发中的热更新技术方案,重点对比了资源热更和代码热更的主流工具。资源热更方面分析了Asset Bundle、Addressable和YooAsset的优缺点;代码热更部分比较了xLua、ILRuntime、InjectFix和HybridCLR的性能特点。文章详细演示了HybridCLR+YooAsset的实践方案,包括加载热更新程序集、反射调用热更代码、资源打包部署等完整流程。该方案通过原生运行时实现程序集级热更,具有极低性能损耗和全生命周期适用性,配合YooAsset简化了资源管

欢迎指错||纠正||建议||水评+点赞&&评论&&关注&&转发 2917

C++浮点数小数位输出控制

按有效位输出是 setprecision,按小数位数输出也是setprecision,但到底是谁取决于fixed。 cout cout 测试代码: #include #include using namespace std; int main( void ) {     const double value = 12.3456789;

CV_2013的专栏 1510

CCF编程培训师资认证(PTA)标准(教学能力T)

随着计算机科学的不断发展,计算机相关技术应用到社会各个行业,越来越多的青少年参加到了计算机程序设计的学习中,这对编程培训教师提出了更高的专业要求和职业要求。CCF开展编程培训师资认证项目(Programming Trainer Accreditation,PTA),旨在建立一个规范的、科学的、权威且有公信力的三方认证。认证考试分编程专业能力(P)和教学能力(T)两部分。本标准根据《CCF编程培训师资认证条例》第十条制定,旨在明确教学能力(T)的测试标准。

lan_in的博客 1712

【100%通过率】2023华为od机试C卷【电脑病毒感染】C语言 实现

一个局域网内有很多台电脑,分别标注为 0 ~ N-1 的数字。相连接的电脑距离不一样,所以感染时间不一样,感染时间用t 表示。其中网络内一台电脑被病毒感染,求其感染网络内所有的电脑最少需要多长时间。如果最后有电脑不会感染,则返回-1.

MISAYAONE的博客 1042

C++ 控制cout输出的小数位数

方法一: 使用setprecision(n)与setiosflags(ios::fixed)合用,可以控制小数点右边的数字个数,头文件 #include <iomanip> 。 setiosflags 是包含在命名空间iomanip 中的C++ 操作符,该操作符的作用是执行由有参数指定区域内的动作; iso::fixed 是操作符setiosflags 的参数之一,该参数指定的动...

zfjBIT的专栏 2万+

【软考高项论文】论信息系统项目管理的干系人绩效域

例如,在处理与电信运营商合作铺设光纤网络的问题时,考虑到其在通信设施建设和运维方面的专业性和重要性,我们将之定位为高权力高利益的干系人,给予了高度关注和优先沟通。项目全程,我们对干系人绩效域的执行效果进行了定期检查和评估,通过定量与定性的数据收集,确认了项目在干系人管理上的成效,具体表现为:建立了稳固的工作关系网络,使干系人普遍认可项目目标;鉴于本项目牵涉到政府各级部门、企事业单位、市民团体、技术研发伙伴等多种类型的干系人,且干系人的诉求和影响力各异,因此,有序且持续的干系人参与管理显得尤为关键。

Programming Talk 1682

C++ 小数位数输出控制方法

采用格式控制符setprecision(n)控制;或者是流对象的成员函数precision(n)。1、precision( ) 函数和 fixed 合用的方法。其中,fixed表示用使用一般的方法输出浮点数。(不是使用科学计数法之类的)。precision是cout自定义函数,用来设置小数输出位数的精度。值得注意的是,如果precision函数如果没有配合fixed使用的话,它表示的精度就包括了小...

大话家的博客 1万+

数字IC行业笔试面试全攻略

数字IC行业迎来快速发展,国产替代加速,技术创新活跃,应用领域持续扩展,但人才缺口扩大。职业发展路径清晰,从初级到首席工程师/架构师的技术路线,或转向管理岗位。薪资待遇优厚,应届生起薪25-35W,5-10年经验可达70-110W,架构师年薪超百万。薪资受公司平台、技术方向、学历背景、项目经验和地域因素影响。AI芯片、汽车电子等热门方向溢价明显,成功流片经验尤其重要。

2301_79143213的博客 759

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

C++如何控制浮点数输出小数位数

/a是要输出的浮点数,b是保留小数的个数。//a是要输出的浮点数。如果用c++20或以上的版本推荐写成。如果要用户输入保留小数个数。

m0_73691262的博客 790

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

C++ 控制输出的小数位数

#include <iostream> #include <iomanip> using namespace std; int main( void ) { const double value = 12.3456789; cout << value << endl; // 默认以6精度,所以输出为 12.3457 cout << set...

Jinxiaoyu886的博客 1587

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

c,c++对输出浮点数小数位数的控制

例题:https://ac.nowcoder.com/acm/contest/85/A 来源:牛客网 题目描述(建议直接看原题) Etéreo 是个爱学习的好孩子。在年假期间,他依然热情于数学。他最近发现了一个高大上的东西:Θ=lim⁡ν→∞(1+1ν)ν\Theta = \lim_{\nu \rightarrow \infty} (1+\frac{1}{\nu})^\nuΘ=limν→∞​(...

WELCOME!!! 3664

C++输出结果如何控制小数位数

精度

烛火惺忪 1542

【C++】如何使用类?C++如何设定输出小数位数?C++如何不让输出科学计数法?C++如何设定数字输出格式?

目录 以一个股票为例 如何使用类?注意看usestock00.cpp代码 usestock00.cpp stock00.h stock00.cpp C++如何设定数字输出格式?看stock00.cpp这个show_pre()函数 函数解读 程序运行结果 以一个股票为例 stock00.cpp 是stock00.h类函数实现 usestock00.cpp就是主函数 如何使...

王博(Kings)的博客 2749

关于C++中cout.precision()的使用以及控制输出的小数位数.

在C++中可以使用cout.precison(val)来控制浮点数的输出精度,但并不是意味着仅使用cout.precison(val)可以控制输出结果的小数点位数,在此记录一下,就当做学习笔记。 下面先做一下简单的验证: #include <iostream> using namespace std; int main() { double x = 1.23456789; cout...

qq_44894692的博客 2260

C++控制小数位数输出

#include<iostream> #include"math.h" #include <iomanip> using namespace std; int main(){ int m; double n,sum=0; // int qiuhe(int i,int n); cin>>n>>m; ...

weixin_30809173的博客 130

C++输出控制--小数位数的两种方法

传统教材上都会讲C++输出控制

黄老板的杂货铺 1万+

C++中的小数位数控制和有效数字控制

C++中的小数位数控制和有效数字控制首先来看看C++小数位数控制CCF-201903-1 小中大代码中认识如何控制小数位数---外加algorithm函数sort()如何控制有效输出位数呢?从代码认识结果总结 首先来看看C++小数位数控制 CCF-201903-1 小中大 代码中认识如何控制小数位数—外加algorithm函数sort() #include<iostream> #include<iomanip> #include<algorithm> using n

あなたの可愛い41 2676
上一篇: 阶乘因式分解(一)
下一篇: c++中 的向量vector
CTTACM
博客等级 码龄12年 25粉丝 165原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值