作者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