经管之家首页 答疑首页 R语言 0.9==(1.1-0.2)的结果是FALSE?
  • 统计与数据分析
  • 经济学
  • 管理学
  • 金融学
  • 财会类
  • 国际贸易类
  • 考研考博与考证
  • 找数据和资料
  • 求职与职场
  • 学术与投稿类
  • 社会生活
  • 其它
有没有高手知道:为什么0.9 == (1 - 0.1)是TRUE而0.9 == (1.1 - 0.2)是FALSE?
(R 2.10.1 WindowXP SP3 )
trier2006
回答于 2010/08/27 09:16
1# ofzhengyi

"R for Beginners"里的例子,我也看到了,也没明白为什么。已经mail给mail list了,呵呵。
yuejiao
回答于 2010/08/27 11:48
这个基本是数据类型的问题。
shenyu2070
回答于 2010/09/08 00:29
1.1-0.2被R默认为是字符串格式,如果你改为 "0.9"==(1.1-0.2),结果就是TURE了!
楼主试一试。主要还是数据结构的差异。
R对数据结构是很重视的!
颜佳
回答于 2010/09/09 13:09
这个问题我觉得是计算机的舍入误差(roundoff error),因为0.1在计算机中不能精确表示,所以1.1和0.9其实在计算机中都已经有了一定的偏差。
 加载中...