在 R 中显示变量的精确值

Display exact value of a variable in R

提问人:angryavian 提问时间:7/18/2013 最后编辑:Carl Witthoftangryavian 更新时间:2/23/2017 访问量:8360

问:

> x <- 1.00042589212565
> x
[1] 1.000426

如果我想打印 的确切值,我该怎么做?x

对不起,如果这是一个愚蠢的问题。我尝试在谷歌上搜索“R”和“精确”或“圆形”,但我得到的只是关于如何四舍五入的文章。

先谢谢你!

R-常见问题

评论

0赞 Richie Cotton 7/18/2013
如果它不是整数,那么您将不会得到确切的值,而只是一个近似值。请参阅 cran.r-project.org/doc/FAQ/...
0赞 Spacedman 7/18/2013
完全唯一真正精确的值是尾数/指数编码浮点值的 8 个字节。

答:

12赞 agstudy 7/18/2013 #1

所有会议期间的全局解决方案

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

或者在本地仅针对 x:

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

评论

3赞 Roland 7/18/2013
我喜欢第二个,它很好地表明“精确”是相对的。
8赞 Hong Ooi 7/18/2013 #2
print(x, digits=15)

format(x, digits=15)

sprintf("%.14f", x)