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

為了賬號安全,請及時綁定郵箱和手機立即綁定

正在回答

6 回答

我用的是float avg=(age1+age2+age3+age4)/4; ?可以算出平均年齡26.0,但是4后面不應該加個f嗎?如下:

float avg=(age1+age2+age3+age4)/4f; ?就會報錯。

0 回復 有任何疑惑可以回復我~

所以那個4.25是本身是沒算錯誤的? 只是表示方法不同是嗎

0 回復 有任何疑惑可以回復我~

4 和4.0 在計算機中 根本不是一個數 ?小數二進制是不準確的

0 回復 有任何疑惑可以回復我~

4 個人 你用4.0?

服了


用下面 這個算就行了

double?avg=sum/4;

沒有必要糾結這個問題。

實際上,不是運算本身會出錯,而是計算機根本就不能精確的表示很多數,比如0.1這個數。

計算機是用一種二進制格式存儲小數的,這個二進制格式不能精確表示0.1,它只能表示一個非常接近0.1但又不等于0.1的一個數。

數字都不能精確表示,在不精確數字上的運算結果不精確也就不足為奇了


0 回復 有任何疑惑可以回復我~

可以自己試試看,就知道區別在哪里了

0 回復 有任何疑惑可以回復我~
#1

weibo_艧叆濣_03653610 提問者

可是前者是26.0,后者是26.25?為什么呀?
2017-08-24 回復 有任何疑惑可以回復我~
#2

慕的地2097853 回復 weibo_艧叆濣_03653610 提問者

你的sum=多少,是int吧
2017-08-25 回復 有任何疑惑可以回復我~
#3

weibo_艧叆濣_03653610 提問者 回復 慕的地2097853

恩恩~是int的
2017-08-26 回復 有任何疑惑可以回復我~

sum/4.0;可以自動轉換成double類型

0 回復 有任何疑惑可以回復我~
#1

weibo_艧叆濣_03653610 提問者

可是前者是26.0,后者是26.25?為什么呀?
2017-08-24 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

關于double的問題

我要回答 關注問題
微信客服

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

幫助反饋 APP下載

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

公眾號

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