c/c++输出保留指定位小数(输出精度控制)

c++

C++的精度控制需要头文件

#include<iomanip>

输出时使用setprecision()和fixed进行精度控制和补0
在使用时,可以提前声明,也可以直接写在输出流中

float a=0.123;
cout<<a<<endl;//输出 0.123

cout<<setprecision(5)<<a<<endl;//输出 0.123
//方法一:
cout<<setiosflags(ios::fixed)<<setprecision(5);
cout<<a<<endl;//输出 0.12300
//方法二:
cout.setf(ios::fixed);
cout<<setprecision(5);
cout<<a<<endl;//输出 0.12300
//方法三:
cout<<fixed<<setprecision(5)<<a;//输出 0.12300
  • 需要保留几位小数,就将 setprecision(n) 的括号里n换成几

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

  • 函数 setprecision() 控制输出流的输出精度(精度控制采用四舍五入)
    注意:setprecision单独使用是控制有效位数的,与fixed合用才是控制小数点后位数的
    eg.

	float a=12.123456;
	cout<<setprecision(3)<<a; //输出12.1
	cout<<fixed<<setprecision(3)<<a;//输出12.123
  • fixed是设置补0,以下三种写法任选其一即可
	cout<<setiosflags(ios::fixed);
	cout.setf(ios::fixed);
	cout<fixed;
  • 如果不想补0,可以设置关闭fixed
	cout.unsetf(ios::fixed); 

C语言

c语言的精度控制较为简单

float a=123.45;
double b=22.3736723;
printf("%.5f %.2f %.12f",12.3,a,b);//输出:12.30000 123.45 22.373627230000
  • "%.nf" 其中n即为保留的小数位数
  • 不设定保留几位小数,则默认六位

参考:
https://www.cnblogs.com/chaoswr/p/7783515.html
https://blog.csdn.net/qq_36667170/article/details/79265224

  • 50
    点赞
  • 202
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值