課程
/后端開發
/Java
/Java入門第一季(IDEA工具)升級版
//兩者區別 double?avg=sum/4; double?avg=sum/4.0;
2017-08-24
源自:Java入門第一季(IDEA工具)升級版 3-2
正在回答
我用的是float avg=(age1+age2+age3+age4)/4; ?可以算出平均年齡26.0,但是4后面不應該加個f嗎?如下:
float avg=(age1+age2+age3+age4)/4f; ?就會報錯。
所以那個4.25是本身是沒算錯誤的? 只是表示方法不同是嗎
4 和4.0 在計算機中 根本不是一個數 ?小數二進制是不準確的
4 個人 你用4.0?
服了
用下面 這個算就行了
double?avg=sum/4;
沒有必要糾結這個問題。
實際上,不是運算本身會出錯,而是計算機根本就不能精確的表示很多數,比如0.1這個數。
計算機是用一種二進制格式存儲小數的,這個二進制格式不能精確表示0.1,它只能表示一個非常接近0.1但又不等于0.1的一個數。
數字都不能精確表示,在不精確數字上的運算結果不精確也就不足為奇了
可以自己試試看,就知道區別在哪里了
weibo_艧叆濣_03653610 提問者
慕的地2097853 回復 weibo_艧叆濣_03653610 提問者
weibo_艧叆濣_03653610 提問者 回復 慕的地2097853
sum/4.0;可以自動轉換成double類型
舉報
0基礎萌新入門第一課,從Java環境搭建、工具使用、基礎語法開始
4 回答關于FLOAT和DOUBLE的問題
1 回答關于double和Double
4 回答關于double和float調用空間大小的問題
2 回答關于double與float
2 回答關于double類型保留小數位數的問題??
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2017-10-31
我用的是float avg=(age1+age2+age3+age4)/4; ?可以算出平均年齡26.0,但是4后面不應該加個f嗎?如下:
float avg=(age1+age2+age3+age4)/4f; ?就會報錯。
2017-09-18
所以那個4.25是本身是沒算錯誤的? 只是表示方法不同是嗎
2017-08-27
4 和4.0 在計算機中 根本不是一個數 ?小數二進制是不準確的
2017-08-27
4 個人 你用4.0?
服了
用下面 這個算就行了
double?avg=sum/4;
沒有必要糾結這個問題。
實際上,不是運算本身會出錯,而是計算機根本就不能精確的表示很多數,比如0.1這個數。
計算機是用一種二進制格式存儲小數的,這個二進制格式不能精確表示0.1,它只能表示一個非常接近0.1但又不等于0.1的一個數。
數字都不能精確表示,在不精確數字上的運算結果不精確也就不足為奇了
2017-08-24
可以自己試試看,就知道區別在哪里了
2017-08-24
sum/4.0;可以自動轉換成double類型