程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> C語言問答 >> c語言怎麼實現四捨五入?

c語言怎麼實現四捨五入?

編輯:C語言問答

c語言怎麼實現四捨五入?

給你個簡單的餓例子四捨五入小數點後一位float f=1.54536;f=(int)(f*10+5)/10.0;你分析看看就知道了[mw_shl_code=c,true]#includemain(){float f=1.54536;f=(int)(f*10+5)/10.0; printf("%f\n",f);}[/mw_shl_code]

最佳回答:

有必要熟悉下 c語言 運算優先級
圓括號> 類型轉換 > 乘除和取模  > 加減

() > (int) > * /  > +


所以
f=(int)(f*10+5)/10.0
=(int)(1.54536*10+5)/10.0
=(int)(15.4536+5)/10.0
=(int)(20.4536)/10.0      //int 取整,就是捨去全部小數
=20/10.0
=2.000000     //默認 6位小數


其實,本人覺得,用以下的就可以實現了
f=(int)(f+0.5)    // +0.5的意義就是讓 小數>=0.5的變成 +1,而<0.5的 不到1,將被捨去
補充:
比較完整的  c語言 運算優先級表:
http://www.slyar.com/blog/c-operator-priority.html
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved