R中有一个选项可以控制数字的显示。例如:
options(digits=10)
该参数被设计为在 R 会话结束时以10个数字的形式给出计算结果。在 R 的帮助文件中,digits参数的定义如下:
digits: 控制数字值打印时要打印的位数。这只是一种建议。有效值为1到22,默认为7
所以,它只是个建议。如果我想始终显示10个数字,不多不少怎么办?
我的第二个问题是,如果我想显示超过22个数字,例如用于精确计算的100个数字,是否可以使用基本的R语言实现,还是需要额外的包/函数?
编辑:感谢jmoy的建议,我尝试了sprintf("%.100f",pi)
,得到了
[1] "3.1415926535897931159979634685441851615905761718750000000000000000000000000000000000000000000000000000"
这个数有48位小数。这是 R 能处理的最大限制吗?
python -c "import math; print(format(math.pi, '.100f'))"
。结果是pi
,有 48 个“真实”的小数位,其余 52 位填充了零。 - syntaxerror