2015-05-24 40 views
-4
> 52631579 - 52631559 
[1] 20 
> 20/52631559 
[1] 3.800001e-07 
> 52631579/52631559 
[1] 1 
> class(52631579 - 52631559) 
[1] "numeric" 

我希望该部门能够得出精确的浮点数。R除法结果不准确

+0

http://cran.r-project.org/doc/FAQ/R-FAQ.html#Why-doesn_0027t-R-think-these- numbers-are-equal_003f – user227710

+0

无论这是什么意思,分工都处于“精确浮动”状态。请参阅R的“帮助”和“print.default”。例如,使用'options(digits = 15)'来显示15位有效数字。 – Bhas

+0

'dput(52631579/52631559)'。 R并不总是显示所有数字。 – MrFlick

回答

1

您可以使用sprintf功能格式化输出

sprintf("%.50f", 52631579/52631559) 
# [1] "1.00000038000014401795567664521513506770133972167969"