黑马程序员技术交流社区
标题:
无意间看到的 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