栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++中“控制浮点数值显示”涉及的控制符setprecision()、fixed、scientific的相关用法

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++中“控制浮点数值显示”涉及的控制符setprecision()、fixed、scientific的相关用法

C++中“控制浮点数值显示”涉及的控制符setprecision()、fixed、scientific的相关用法
setprecision():
setprecision是一个计算机函数/控制符,使用setprecision(n)功能是控制输出流显示浮点数的有效数字个数。其中n为需要输出的浮点数值的位数。C++默认的流输出数值有效位数是6。
该控制符是在头文件iomanip中定义的对象。 使用控制符时可将其直接插入流中。

示例1:

#include
#include
using namespace std;
int main(){
    cout<     cout<     
}
1
2
3
4
5
6
7
8
9
10
11
分析:

cout< 1
该行代码的运行结果最后一位会自动发生四舍五入转换。
cout< 1
该行代码的运行结果用科学表示法来表示。 由此可见,如果一个数字太大,无法使用 setprecision
指定的有效数位数来打印,则许多系统会以科学表示法的方式打印输出。为了防止出现这种情况,可以使用另一个流操作符fixed,它表示浮点输出应该以固定点或小数点表示法显示
fixed
表示浮点输出应该以固定点或小数点表示法,即,设置定点小数表示法

示例2:

#include
#include
using namespace std;
int main(){
    cout<<123456789.12<     cout<<123.4567<     cout<<123.4567890<     cout<     cout<<123.4567<     cout<<123.4567890<     
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
分析:

cout<<123456789.12< 1
cout< 1
可见,流操作符fixed可以防止出现打印输出的时候以科学表示法来表示
但是,观察发现,最后两行代码并没有应用fixed,但是还是可以出现和应用fixed时候的效果,说明:倒数第三行代码中的fixed的效力保留到后面的流中。
注意:
fixed和setprecision只要使用之后,就会一直起作用,即其效力会一直保留。

3、如果fixed和setprecision(n)合用,可以控制小数点右边的数字个数。

示例3:

#include
#include
using namespace std;
int main(){
    cout<     cout<<123.45678<     cout<<123.45<     cout<<123.4<     
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
4、**如果scientific和setprecision(n)合用,可以控制指数表示法的小数位数。**scientific是设置指数方式的小数表示法。

示例4:

#include
#include  //要用到格式控制符
using namespace std;
int main(){
  double amount = 22.0/7;
  cout<   cout<  cout< }

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
分析:

第1行输出数值之前没有设置有效位数,所以用流的有效位数默认设置值6。第2行输出设置了有效位数0,C++最小的有效位数为1,所以作为有效位数设置为1来看待。第 3~6 行输出按设置的有效位数输出。
第7行输出是与 fixed合用,所以setprecision(8)设置的是小数点后面的位数,而非全部数字个数。
第 8行输出用 scientific 来表示指数表示的输出形式。其有效位数沿用上次的设置值8。
总结:
1、在普通表示的输出中,setprecision(n)表示有效位数。
2、在确定表示的输出中,即和fixed连用的时候,setprecision(n)表示小数位数。
3、在指数形式输出时,即和scientific连用的时候,setprecision(n)表示小数位数。
4、小数位数截断显示时,进行四舍五入处理。
5、注意操作符的效力。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/698465.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号