黑马程序员技术交流社区

标题: 无意间看到的 0.1+0.1+0.1!=0.3 [打印本页]

作者: ╯两路人_、陌路    时间: 2012-12-1 22:52
标题: 无意间看到的 0.1+0.1+0.1!=0.3
代码 class  Qiuzhi
{
        public static void main(String[] args)
        {
                double a=0.1,b=0.1,c=0.1;   //初始化数值 并赋值
               
                double x = (a+b+c);          // 求和
               
                if (x==0.3)                      //if语句  和是否等于0.3
                {
                        System.out.println("和等于0.3");   // 输出语句
                }
                //else
                {
                        System.out.println("和不等于0.3");  // 输出语句
                }
               
        }
}           结果 不等于0.3      这有违常理 哈   还有   1.0 - 0.8   的值也不等于0.2  发现 这些浮点类型的值 确实不能按常理推算    求 原因  
作者: ╯两路人_、陌路    时间: 2012-12-1 22:55
不小心写错了··最顶头的那个  代码放错位置了   还有  //else  这个 斜杠忘记去掉了·····0.0  囧
作者: 王震阳老师    时间: 2012-12-1 23:04
楼主大不必惊奇,这是double数据的精确度导致的。
作者: ╯两路人_、陌路    时间: 2012-12-2 12:38
王震阳 发表于 2012-12-1 23:04
楼主大不必惊奇,这是double数据的精确度导致的。

晓得了  晓得了  只是 无意间看到的 只是想求个原因哈··




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2