如果有对这个问题感兴趣的 我可以把源码给你看看 帮我分析分析
http://blog.csdn.net/niuox/article/details/8131936
稍微详细一点
http://wenku.baidu.com/link?url=jZWjcyzYD9nPZmLxk__TYL60d-dbQw24ynLjdiEi8de8CaTMKB32SWqKghvHZhrJHKuoPYG6jVKbz16w736GZ5OyevV0JYWprvmxr8gKM-a
if( (f >= -EPSINON) && (f<=EPSINON)) float精度允许有误差,const float EPSlNON = 0.000001;