-4
> 52631579 - 52631559
[1] 20
> 20/52631559
[1] 3.800001e-07
> 52631579/52631559
[1] 1
> class(52631579 - 52631559)
[1] "numeric"
我希望该部门能够得出精确的浮点数。R除法结果不准确
> 52631579 - 52631559
[1] 20
> 20/52631559
[1] 3.800001e-07
> 52631579/52631559
[1] 1
> class(52631579 - 52631559)
[1] "numeric"
我希望该部门能够得出精确的浮点数。R除法结果不准确
您可以使用sprintf
功能格式化输出
sprintf("%.50f", 52631579/52631559)
# [1] "1.00000038000014401795567664521513506770133972167969"
http://cran.r-project.org/doc/FAQ/R-FAQ.html#Why-doesn_0027t-R-think-these- numbers-are-equal_003f – user227710
无论这是什么意思,分工都处于“精确浮动”状态。请参阅R的“帮助”和“print.default”。例如,使用'options(digits = 15)'来显示15位有效数字。 – Bhas
'dput(52631579/52631559)'。 R并不总是显示所有数字。 – MrFlick