为什么加上小数浮点数是错误的? [重复]

问题描述

|                                                                                                                   这个问题已经在这里有了答案:                                                      

解决方法

        
0.1
不能用浮点数精确表示:
printf(\"%.16f\\n\",0.1f);
显示:
0.1000000014901161
因此,
n
将永远不会完全等于
1
。 就像@sirlak在下面的评论中说的那样,测试浮点变量的相等性几乎是不正确的。