打印

if语句问题

[复制链接]
832|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hsbjb|  楼主 | 2013-11-27 21:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
无冕之王| | 2013-11-27 22:06 | 只看该作者
定一个精度范围,大于小于某个绝对值就视为0

使用特权

评论回复
板凳
xsgy123| | 2013-11-27 22:14 | 只看该作者
这个要看需求而定,没有统一标准,实际应该写个判相等的函数而不是判是否=0

使用特权

评论回复
地板
火箭球迷| | 2013-11-27 22:24 | 只看该作者
首先一个 double 是否为 0,或者其他的数值,是精确的,可以使用== 。
比如 double f = 0; 此时 f 是精确为 0 ,f == 0 为 true。
但是,double 在运算中,由于截尾的原因,总是有误差的。而此时是否为0,要看你的这个运算的精度要求。
比如运算后,f = 0.001,此时不能简单去和 e 去比较。

使用特权

评论回复
5
angerbird| | 2013-11-27 23:12 | 只看该作者
楼上说的我还没怎理解的,我下去的查查资料的啦

使用特权

评论回复
6
zghskh| | 2013-11-28 17:05 | 只看该作者
根据DOUBLE数据的存储格式,直接对存储区的内容进行判断,也就是说直接对这个数的符号位,阶码和尾数进行判断或比较

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

193

主题

2354

帖子

0

粉丝