2013-07-18 27 views
2
> x <- 1.00042589212565 
> x 
[1] 1.000426 

如果我想打印x的確切值,我該怎麼做?顯示R中某個變量的確切值

對不起,如果這是一個愚蠢的問題。我試着用谷歌搜索「R」和「確切」或「圓」,但我所得到的是關於如何四捨五入的文章。

預先感謝您!

+0

如果它不是一個整數,那麼您將不會得到一個確切的值,只是一個近似值。詳見http://cran.r-project.org/doc/FAQ/R-FAQ.html#Why-doesn_0027t-R-think-these-numbers-are-equal_003f –

+0

*唯一確切的確切值是8尾數/指數編碼的浮點值的字節。 – Spacedman

回答

10
所有會話

options(digits=16) 
> x 
[1] 1.00042589212565 

或局部只是X期間

在全球範圍內的解決方案:

sprintf("%.16f", x) 
[1] "1.0004258921256499" 
+3

我喜歡第二個,它很好地表明「確切」是相對的。 – Roland

7
print(x, digits=15) 

format(x, digits=15) 

sprintf("%.14f", x)