我很抱歉问这个愚蠢的问题,但我无法理解为什么双变量不打印为double。 似乎它们被截断为最大数字位数,这似乎是可变的。 这是一个例子:
>(1234567890.123456789 -> x)
[1] 1234567890
小数位在哪里? 在RStudio Environment视图中,x的值显示为1234567890.123456。为什么控制台输出与环境视图不同,为什么它与我输入的值不同?
> (567890.12345678912345 -> x)
[1] 567890.1
> sprintf("%f", x)
[1] "567890.123457"
double的.Machine设置是
> .Machine$double.xmin ; .Machine$double.xmax
[1] 2.225074e-308
[1] 1.797693e+308
这里是.Machine内容的完整列表
as.data.frame(。机) double.eps double.neg.eps double.xmin double.xmax double.base double.digits double.rounding double.guard 1 2.220446e-16 1.110223e-16 2.225074e-308 1.797693e + 308 2 53 5 0 double.ulp.digits double.neg.ulp.digits double.exponent double.min.exp double.max.exp integer.max sizeof.long 1 -52 -53 11 -1022 1024 2147483647 4 sizeof.longlong sizeof.longdouble sizeof.pointer 1 8 16
感谢您的支持 Wasili
由于
选项(位数= 20)
帮助