[問題] 請問一個double的問題

看板java作者時間16年前 (2008/05/09 23:18), 編輯推噓2(203)
留言5則, 4人參與, 最新討論串1/1
public class TestD { public static void main(String argv[]) { String s1="51.01"; String s2="21"; double t=0; t=Double.parseDouble(s1)+Double.parseDouble(s2); System.out.println(t); System.out.println(Double.parseDouble(s1)); System.out.println(Double.parseDouble(s2)); } } 輸出的結果是 72.00999999999999 51.01 21.0 請問為什麼結果不是72.01? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.130.53

05/09 23:23, , 1F
NumberFormat
05/09 23:23, 1F

05/09 23:25, , 2F
此題可以列入 FAQ 了...
05/09 23:25, 2F

05/10 00:51, , 3F
這問題不管在哪個語言都是FAQ....
05/10 00:51, 3F

05/12 13:59, , 4F
可以去找找數值方法的書籍,應該有您要的解答
05/12 13:59, 4F

05/18 23:01, , 5F
因為machine number剛好沒有嗎?
05/18 23:01, 5F
文章代碼(AID): #1896itDI (java)