C++如何不用cout也能改变某数值的精度

比如求编写求正方体函数:

float area()

{

return a*a;

}

怎么才能直接用return返回保留两位小数的面积?

#include <iostream>
#include <iomanip>   //设置必备的头文件
using namespace std;
int main()
{
	float s=12.345;
	cout<<setiosflags(ios::fixed)<<setprecision(2);
	cout<<s<<endl;   //输出12.35
}

 

float area()
{
    float f = a*a;

    //先乘以100,将两位小数部分转为整数部分,加上0.5实现四舍五入,int取整去掉不需要的小数部分,最后除以100得到所需要的带有两位有效小数的浮点数。这里要用100.0,不能用100,否则就是整除了
    return  (int)(f*100+0.5)/100.0; 
   
}

 

你要传递 float a进来。

float area(float a)
{
return a*a;

}
在main函数里
int main(){
    float ppp =area(a);
}

 

printf("面积 = %.2f\n",a*a);  保留两位小数

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632