C / C++ 保留小数函数(setprecision(n)的一些用法总结)

从C语言开始正式学习C++,但是一上来输出位数就懵了,查资料才知道C++需要使用 “ setprecision ”函数。自己总结一下。

首先说C++代码

#include <iomanip>  //setprecision(n)函数在 iomanip 头文件中

//第一种写法
cout<<setiosflags(ios::fixed)<<setprecision(n);

//第二种写法
cout.setf(ios::fixed);
cout<<setprecision(2);

//第三种写法
cout<<fixed<<setprecision(2);

要保留几位小数setprecision(n)的括号里n就换成几。

前两种写法是一样的,第三种是简化写的。

上面的语句写一次就行了,对之后的数字都有效。

然后说C的代码

  最近了解了一下C++语言的输出,毕竟我一个C语言入门的人,有点看不懂C++语言的输出hhhhh,可能因为我比较差吧。个人感觉c的输出比较简单粗暴。

%f 格式化输出浮点型数据,在%之后加上“.n”即可。

例如:

#include <stdio.h>

int main(){
	float PI=3.1415926;
	float R=5.1;
	printf("面积 = %.2f\n", PI * R * R); //输出:面积 = 81.71
	printf("面积 = %f\n", PI * R * R); //输出:面积 = 81.712814
	printf("面积 = %.8f\n", PI * R * R);//输出:面积 = 81.71281433
	return 0;
}

  

  • %.2f\n中的“.2”即保留两位小数
  • //不设定保留几位小数,则默认六位

如果单纯会用就行,看到这里就可以了!

-------------------------------------------------------------------------------------------------------------------------------

想深入理解的,继续看下面

1.首先解释一下“语句写一次就行了,对之后的数字都有效”。在s之后设置保留两位小数之后,重新声明另一个数,输出依旧显示两位小数。所以设置精度语句只需写一次就可以了。

 1 #include <iostream>
 2 #include <iomanip>   //设置必备的头文件
 3 using namespace std;
 4 int main()
 5 {
 6     double s=12.345;
 7     cout<<setiosflags(ios::fixed)<<setprecision(2);
 8     cout<<s<<endl;   //输出12.35
 9     
10     float pi=3.14159;
11     cout<<pi<<endl;   //输出3.14
12     
13     return 0;
14 }

2.setprecision(n)
   功能:控制浮点数显示的有效数字个数。

3.*fixed*
  setprecision(n)和fixed合用的话可以控制小数点后有几位。
  只要加上以下*任意一个*语句就可以。

cout<<setiosflags(ios::fixed);
cout.setf(ios::fixed);
cout<fixed;

然后你会发现,如果你要保留的位数多于数字原来的小数,就会补上0。

posted @   RioTian  阅读(6714)  评论(1编辑  收藏  举报
编辑推荐:
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 全程不用写代码,我用AI程序员写了一个飞机大战
点击右上角即可分享
微信分享提示

📖目录