【问题标题】:Display exact value of a variable in R在 R 中显示变量的确切值
【发布时间】:2013-07-17 10:59:16
【问题描述】:
> x <- 1.00042589212565
> x
[1] 1.000426

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

抱歉,这是一个愚蠢的问题。我尝试用谷歌搜索“R”和“exact”或“round”,但我得到的只是关于如何舍入的文章。

提前谢谢你!

【问题讨论】:

  • 如果它不是一个整数,那么你不会得到一个精确的值,只是一个近似值。见cran.r-project.org/doc/FAQ/…
  • 精确唯一真正精确的值是尾数/指数编码的浮点值的 8 字节。

标签: r r-faq


【解决方案1】:

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

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

或仅用于 x 的本地:

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

【讨论】:

  • 我喜欢第二个,它很好地表明“精确”是相对的。
【解决方案2】:
print(x, digits=15)

format(x, digits=15)

sprintf("%.14f", x)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-20
    • 1970-01-01
    • 1970-01-01
    • 2021-05-04
    • 1970-01-01
    • 2019-03-15
    • 2016-05-11
    • 2022-09-23
    相关资源
    最近更新 更多