亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為啥printf ("(9.95 * 100) = %d \n", (9.95 * 100));結果是994?

為啥printf ("(9.95 * 100) = %d \n", (9.95 * 100));結果是994?

慕少森 2019-04-13 08:37:17
結果994是怎么回事?printf("(9.95*100)=%d\n",(9.95*100));我的真實意思是想理解為什么是9.95*100的時候結果是994.而9.96,9.97,9.94,9.93均是正常的
查看完整描述

2 回答

?
慕妹3146593

TA貢獻1820條經驗 獲得超9個贊

浮點運算有精度損失,9.95*100算出來的結果應該是994.9999999999999,取整是截掉小數部分,就是994了。如果用四舍五入計算,就能得到995
printf("(9.95*100)=%d\n",round(9.95*100));
                            
查看完整回答
反對 回復 2019-04-13
?
FFIVE

TA貢獻1797條經驗 獲得超6個贊

拿起任何一本技術書籍,看浮點數計算章節。
比如:PHP:Float浮點型-Manual
另外,可以研究一下以下什么差別
printf("(9.95*100)=%s\n",(9.95*100));
                            
查看完整回答
反對 回復 2019-04-13
  • 2 回答
  • 0 關注
  • 417 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號