奇怪的double型變量的比較

 今天遇到個有趣的問題。

double en = 2130.60000000003;

 

  if(en > 9999.9)
   sprintf(buff, "9999.9");//這樣的話就會進來

改變之後

#define MAXNUM 9999.9

  if(en > MAXNUM)
  sprintf(buff, "9999.9");//這樣就不會進來 

 

誰能解釋一下呢~

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章