将字符串转换为双精度浮点数

14

我正在尝试在R中将一个字符串转换为双精度浮点数。然而,每次转换数字时,R都会创建一个整数。

例如:

a = "100.11"  
a = as.double(a)  

输出结果为100。在将字符串转换为数字时如何保留小数位?我已经设置了options(digits=3)

谢谢

Mike


2
你尝试过 as.numeric(a) 吗? - talat
1
@beginneR "as.double是一个通用函数。它与as.numeric完全相同。" - Roland
1个回答

20

问题出在你所设置的选项:

options(digits=3)
as.double("100.11")
#[1] 100
options(digits=5)
as.double("100.11")
#[1] 100.11

digits "控制在打印数值时要显示的数字位数"。将选项设置为3,则会显示3个数字。


啊,你说的对。我以为它的意思是小数点后面的位数。谢谢! - Mike
format(as.numeric("1244713607364931585"),digits=15) 返回 #"1244713607364931584",您认为怎么样? - eliascis

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接