做一个项目的时候,用到了一个list判断。用法如下所示:
listExp=ListExpAll.FindAll(P=>P.TeXing>100);//listExp和ListExpAll为list
各种情况都是正常
下一个listExp=ListExpAll.FindAll(P=>P.TeXing>0.001);//listExp和ListExpAll为list
当有属性为0.001时,原则上是不包含的,实际测试结果包含,有误。
研究发现在浮点数情况下,小数后要加f
改为listExp=ListExpAll.FindAll(P=>P.TeXing>0.001f);//listExp和ListExpAll为list
正常了。
本文介绍了一个关于浮点数比较的常见错误,并提供了解决方案。在使用C#进行项目开发过程中,作者发现当比较两个浮点数时,直接使用0.001会出现误判现象,实际上应该显式指定浮点数精度,例如使用0.001f。
933

被折叠的 条评论
为什么被折叠?



