printf("%.2lf",3.141.51.5);
3.141.51.5=7.065
输出结果为7.06
为什么没有自动四舍五入为7.07
不会的
你如果想运用四舍五入 有一个函数
#include<cmath>
round(参数);
你的.2f 的意思是保留两位有效数字
这是浮点数精度误差造成的
3.14 * 1.5 * 1.5 实际的结果可能是7.06499998,或者7.06500001,前者%.2f输出的是7.06,或者是7.07,看运气了
多试几次,会出现7.07的
比如
int main(){
float a = 3.14 * 1.5 * 1.5;
printf("%.2f",a);
return 0;
}
百分号是直接截断的吧,想要四舍五入建议用 round()
这样写会直接舍弃后面的,不会进行四舍五入