奇怪的double型变量的比较

 今天遇到个有趣的问题。

double en = 2130.60000000003;

  if(en > 9999.9)
   sprintf(buff, "9999.9");//这样的话就会进来

改变之后

#define MAXNUM 9999.9

  if(en > MAXNUM)
  sprintf(buff, "9999.9");//这样就不会进来 

谁能解释一下呢~

发布了90 篇原创文章 · 获赞 3 · 访问量 21万+

猜你喜欢

转载自blog.csdn.net/sunnyboychina/article/details/4233780