Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在R中将长值转换为双精度值_R - Fatal编程技术网

在R中将长值转换为双精度值

在R中将长值转换为双精度值,r,R,我将下面R中的值赋给从文件中读取的var x,当我打印它时,它显示为双格式。我希望能够存储这个没有小数的长数字,因为当我进行REST post时,数据会以双精度的形式发布。我尝试使用.character(x),但在执行POST to REST API时,它被视为字符串。有没有办法让这个值保持长而不是小数 x <- 1426643216897 print(x) [1] 1.426643e+12 x首先在R环境中设置数字选项: options(digits=22)如果使用不希望包含的字符,

我将下面R中的值赋给从文件中读取的var x,当我打印它时,它显示为双格式。我希望能够存储这个没有小数的长数字,因为当我进行REST post时,数据会以双精度的形式发布。我尝试使用.character(x),但在执行POST to REST API时,它被视为字符串。有没有办法让这个值保持长而不是小数

x <- 1426643216897

print(x)
[1] 1.426643e+12

x首先在R环境中设置数字选项:


options(digits=22)

如果使用不希望包含的字符,我建议在
print
函数中使用quote=FALSE。由于
print
也接受digits参数,因此您可以选择以下任一方式:

> print(as.character(x), quote=FALSE)
[1] 1426643216897
> print(x,  digits=20)
[1] 1426643216897
与:

> print(as.character(x) )
[1] "1426643216897"
没有R长整数模式。您应该了解,超过9位10进制数字的数字被“存储为小数”,即使用横坐标+尾数存储,但整数长度的明显增加是通过打印“双精度”表示的横坐标到10进制表示的精确转换来实现的,不带小数点。请注意,如果显式尝试“存储为整数”,会发生什么:


指定副本的可能副本是在引入“半长整数”之前编写的,因此目前不是链接的最佳答案。我还认为它与数字/整数存储的输入端更相关,这一部分主要关注输出。即使您设置数字并尝试将值写入文件,它也会将其写入1.4266e+12,而不是1426643216897Hi@bondedust,如果我想应用x,我不确定您的意思。是
1426643216897L
文件的内容,还是要读入
x 1426643216897是文件的内容。我想通过在结尾加上L来做一些类似于演员阵容的事情。在后面加上“L”是没有意义的。无论如何,它会变成一个替身。这一行动不会产生任何有益的结果。如果您坚持让它成为一个带有
as.integer
的整数,那么结果将是NA。请注意,上面我拼错了
?readLines
,但错过了5分钟的编辑窗口。
> x <- 1426643216897L
Warning message:
non-integer value 1426643216897L qualified with L; using numeric value 
>  cat("test")
test