在R中,为什么会产生精确的十进制值999999.5。
1999999/2
但这会导致四舍五入的整数(1000001)?
2000001/2
答案 0 :(得分:2)
这是关于打印位数。您可以在print
功能中设置要打印的位数。
print(2000001/2, digits = 8)
# [1] 1000000.5
答案 1 :(得分:2)
这只是格式化。您还可以在打印功能之外设置此选项:
1999999 / 2
#> [1] 999999.5
2000001 / 2
#> [1] 1e+06
2000001 / 2 - 1000000 # The number is still full precision
#> [1] 0.5
options(digits=10)
2000001 / 2
#> [1] 1000000.5
由reprex package(v0.2.0)于2018-06-21创建。