猜一猜: Console.WriteLine(5000.88 + 5000 == 10000.88); 结果为True还是False?
来源:互联网 发布:真三国无双6优化补丁 编辑:程序博客网 时间:2024/04/30 05:36
By Ben
致命的错误出现在一个项目实践中: Console.WriteLine(5000.88 + 5000 == 10000.88);结果为False
详细解释:
致命的错误出现在一个项目实践中: Console.WriteLine(5000.88 + 5000 == 10000.88);结果为False
分析: 用"=="来比较两个double应该相等的类型,返回真值完全是不确定的。计算机对浮点数的进行计算的原理是只保证必要精度内正确即可,例如:double a=0.9+0.2;那么只能保证小数点后1位这个精度是正确的,计算机计算这个加法的结果a的值可能是1.100000001,也可能是1.100000002也可能就是1.1,也就是说计算机计算后并不保证0.1以下各位得到的都是正确的,所以直接用==进行比较是不可行的。 比较两个double数是否相等应看其相减的绝对值是否小于某一数值,此值一般低于两数精确度 例如:Console.WriteLine(Math.Abs(5000+5000.88-10000.88)<0.001); |
- 猜一猜: Console.WriteLine(5000.88 + 5000 == 10000.88); 结果为True还是False?
- 猜一猜: Console.WriteLine(5000.88 + 5000 == 10000.88); 结果为True还是False?
- 猜一猜: Console.WriteLine(5000.88 + 5000 == 10000.88); 结果为True还是False?
- 猜一猜: Console.WriteLine(5000.88 + 5000 == 10000.88); 结果为True还是False?
- 猜一猜: Console.WriteLine(5000.88 + 5000 == 10000.88); 结果为True还是False?
- 猜一猜: Console.WriteLine(5000.88 + 5000 == 10000.88); 结果为True还是False?
- 猜一猜: Console.WriteLine(5000.88 + 5000 == 10000.88); 结果为True还是False?
- 猜一猜: Console.WriteLine(5000.88 + 5000 == 10000.88); 结果为True还是False?
- 猜一猜: Console.WriteLine(5000.88 + 5000 == 10000.88); 结果为True还是False?
- 猜一猜: Console.WriteLine(5000.88 + 5000 == 10000.88); 结果为True还是False?
- 猜一猜: Console.WriteLine(5000.88 + 5000 == 10000.88); 结果为True还是False?
- 猜一猜: Console.WriteLine(5000.88 + 5000 == 10000.88); 结果为True还是False?
- 猜一猜: Console.WriteLine(5000.88 + 5000 == 10000.88); 结果为True还是False?
- 猜一猜: Console.WriteLine(5000.88 + 5000 == 10000.88); 结果为True还是False?
- 猜一猜: Console.WriteLine(5000.88 + 5000 == 10000.88); 结果为True还是False?
- 猜一猜: Console.WriteLine(5000.88 + 5000 == 10000.88); 结果为True还是False?
- 猜一猜: Console.WriteLine(5000.88 + 5000 == 10000.88); 结果为True还是False?
- 猜一猜: Console.WriteLine(5000.88 + 5000 == 10000.88); 结果为True还是False?
- ActiveBPEL2.0安装配置文档
- Querying XML Data with XQuery
- 书评--资料仓储理论与实务
- 花指令
- 不要作温水里的那只青蛙
- 猜一猜: Console.WriteLine(5000.88 + 5000 == 10000.88); 结果为True还是False?
- 触发器实现字符串处理及统计
- 让 ASP.NET MVC 支持 HotSwap
- 用一条SQL完成数据表的行统计
- 网络机器人(1)--悄然中向我们走来
- ACCESS:跨数据库查询的SQL语句
- SQL谎言
- 如果对字符型编号字段(如1-2)进行排序
- epoll与iocp的异同之处