C语言f格式符

来源:百度知道 编辑:UC知道 时间:2024/06/25 02:43:18
main()
{float x,y;
x=111111.111;y=222222.222;
printf("%f",x=y);
}
运行结果为
333333.328125
请高手指教小数部分的运算,谢谢...
刚发现,里面错了,应该是printf("%f",x=y);

float占用字节数4,有效数字6~7,数值范围-3.4*10^38 ~3.4*10^38
printf("%.3f\n",123.45) 123.450
printf("%.1f\n",123.45) 123.5
printf("%.0f\n",123.45) 123
(注意前面也可以加数字,但应大于实际宽度,一般不加容易出错)。

%f是默认的长度,截取你想要的长度,可以用%.3f,这样就会保留小数点后三位数字

是printf("%f",x+y)吧
由于在内存中,数值都是以二进制的形式储存的,将111111.111,222222.222转化为二进制计算,之后再转回十进制,末尾会存在四舍五入的情况,使得结果不准确了。可以改为double型以提高精度。