R 函数,用于告知某个对象是否为整数';行不通

R 函数,用于告知某个对象是否为整数';行不通,r,function,integer,arguments,R,Function,Integer,Arguments,由于某些原因,我的函数“isint”对某些分数不起作用。代码如下: isint检查 因为991=990.9999999999989您得到0这只是因为算术基数-2不是精确的基数-10。更好的测试方法是使用!all.equal(x,round(x)),允许小的差异。例如,比较以下各项 > all.equal(1040.55/1.05,991) [1] TRUE > identical(1040.55/1.05,991) [1] FALSE 因此,请尝试isint > all.eq

由于某些原因,我的函数“isint”对某些分数不起作用。代码如下:

isint检查


因为
991=990.9999999999989
您得到
0

这只是因为算术基数-2不是精确的基数-10。更好的测试方法是使用
!all.equal(x,round(x))
,允许小的差异。例如,比较以下各项

> all.equal(1040.55/1.05,991)
[1] TRUE
> identical(1040.55/1.05,991)
[1] FALSE
因此,请尝试
isint
> all.equal(1040.55/1.05,991)
[1] TRUE
> identical(1040.55/1.05,991)
[1] FALSE