在循环中,检测两个浮点数是否相等需要格外小心。 下面的for循环 for (double x=1; x != 10; x += 0.1)... 可能永远都不会结束。由于舍入的误差,最终可能得不到精确值。例如,在上面的循环中,因为0.1无法精确的用二进制表示,所以,x将从 9.999 999 999 999 98 跳到 10.099 999 999 999 98.