c语言取小数问题,急求大神解答!

程序是#include
int main()
{
float a,b;
int n;
scanf("%f",&a);
n=(1000*a+0.5);
b=(n*1.0)/1000;
printf("%f",b);
return 0;
}
输入123.4567
输出是123.457001
输入1234.567
输出时1234.567017
输入12345.67
输出是12345.669922
为什么会这样呢?求大神解答!

查看全部
JavaXQ
JavaXQ
2016/04/11 09:09
  • c
  • 点赞
  • 收藏
  • 回答
    私信
满意答案
查看全部

2个回复