北京哪个物美超市电器:c语言输出函数

来源:百度文库 编辑:高校问答 时间:2024/04/29 12:36:42
main()
{
float b=123.12345678;
printf("b=%f,\n",b);
/*我认为应该是123.123457,可结果是123.123459*/
/*这是为什么?*/
}

结果是123.123459 这个数字好象是随机的 啊

float的精度问题!改成楼上的也是那个样子!
数据是以二进制存取!小数的二进制受存储位数限制,精确度很低,123.12345678到123。123459都是显示这个结果!你用,你用double型会正常显示

float只有前8位是有效的

%10.6f,格式改成这样