Re: java問題(鬼打牆了= =")

看板java作者 (糊塗蛋)時間19年前 (2006/04/20 17:40), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串4/5 (看更多)
※ 引述《a0912859304.bbs@bbs.wretch.cc (花枝)》之銘言: : 這個程式碼哪裡有問題啊?? : 我print出來都是小數點耶!! : 程式的原始碼 : class pass53{ : public static void main(String [] args){ : System.out.println(55.5-44.1); : } : } : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ : 鬼打牆1 : ------------------------------------------- : class pass53{ : public static void main(String [] args){ : double n=0; : n=55.5-44.1; : System.out.println(n); : } : } : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ : 鬼打牆2 : 無法使用float來寫這個程式碼 : 請各位大大給我一些建議吧!! : 急用…謝謝… : 可以用精確數值嗎?? 如果你的想法:55.5-44.1=11.4的話,在Java中你要先把2邊都乘上 小數點的位數之後再除以小數點的位數,就可以得到正解了 EX: 1.(55.5乘10-44.1乘10)除10 2.(32.41乘100-22.35乘100)除100 而且這在Java Puzzle 中有說過,因為使用到小數點的數Java預設值為double 而double 只是取近似值而已 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.58.156.65 ※ 編輯: king08 來自: 210.58.156.65 (04/20 17:54)
文章代碼(AID): #14HrSfez (java)
文章代碼(AID): #14HrSfez (java)