作者smartie ()
站內java
標題[問題] 請問一個double的問題
時間Fri May 9 23:18:14 2008
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
1F:→ H45:NumberFormat 05/09 23:23
2F:→ H45:此題可以列入 FAQ 了... 05/09 23:25
3F:→ LPH66:這問題不管在哪個語言都是FAQ.... 05/10 00:51
4F:推 pcx86:可以去找找數值方法的書籍,應該有您要的解答 05/12 13:59
5F:推 Egriawei:因為machine number剛好沒有嗎? 05/18 23:01