如何在R中将字符串double转换为数字double?

如何在R中将字符串double转换为数字double?,r,R,我有一个字符串178960.02,应该用浮点转换成数字 这只生成不带.02的整数值178960 如何使用浮动部分实现双值 as.numeric("178960.02") as.double("178960.02") 谢谢 试试这个: #Code options(digits=9) as.numeric("178960.02") 输出: [1] 178960.02 试试这个: #Code options(digits=9) as.n

我有一个字符串178960.02,应该用浮点转换成数字

这只生成不带.02的整数值178960

如何使用浮动部分实现双值

as.numeric("178960.02")
as.double("178960.02")
谢谢

试试这个:

#Code
options(digits=9)
as.numeric("178960.02")
输出:

[1] 178960.02
试试这个:

#Code
options(digits=9)
as.numeric("178960.02")
输出:

[1] 178960.02

我想知道提问者是否认为R REPL read eval print循环的隐式打印实际上显示了double的正确值?看来我的担心是有道理的

x <- as.numeric("178960.02")

 sprintf("%s", x)
#[1] "178960.02"

print(x, digits = 12)
#[1] 178960.02

我想知道提问者是否认为R REPL read eval print循环的隐式打印实际上显示了double的正确值?看来我的担心是有道理的

x <- as.numeric("178960.02")

 sprintf("%s", x)
#[1] "178960.02"

print(x, digits = 12)
#[1] 178960.02


它正在做你想做的事情显示格式让你困惑,试试as.numeric17.02和as.numeric178960568675765.02,你会看到它正在做你想做的事情显示格式让你困惑,试试as.numeric17.02和as.numeric178960568675765.02,你会看到sprintf%s,当我需要带小数点的数值进行下一次数值计算时,x生成字符类型chr 178960.02的值。我理解,我向您展示了数值始终存在以及如何使用小数点打印它。您只看到了打印的默认行为,但不理解该值实际上存在,并且会出现在计算中。试着乘以100,看看结果。谢谢。问题不在于如何印刷。这是关于如何拥有双值的问题不是关于如何打印的问题,而是一个与R打印函数的默认行为相关的感知问题,但不是真正的问题。好的。但是我不喜欢你的回答,因为它在这里对我没有帮助。也许有人会发现它很有用。谢谢你的帮助!当我在下一次数值计算中需要带小数点的数值时,sprintf%s,x会生成字符类型chr 178960.02的值。我理解,我向您展示了数值始终存在以及如何使用小数点打印它。您只看到了打印的默认行为,但不理解该值实际上存在,并且会出现在计算中。试着乘以100,看看结果。谢谢。问题不在于如何印刷。这是关于如何拥有双值的问题不是关于如何打印的问题,而是一个与R打印函数的默认行为相关的感知问题,但不是真正的问题。好的。但是我不喜欢你的回答,因为它在这里对我没有帮助。也许有人会发现它很有用。谢谢你的帮助!非常感谢。这对我来说很好。修复了生产中的错误。没有错误。只是理解R如何打印值有困难。小数点仍然存在,并且在任何计算中都会被结转。@Andrie,亲爱的同事,真是太棒了!我希望答案对你有用@鸭子谢谢!我甚至修复了另一个有趣的bug。这很有趣,但有时==不能正常工作。例如,…%>%过滤器X1==x2%>%。。。不起作用,但…%>%filterroundx1,3==roundx2,3%>%。。。适用于x2为178960.02的情况。感谢您提供的选项Digits=xxx提示!完成。你也可以在这里喜欢我:谢谢你!这对我来说很好。修复了生产中的错误。没有错误。只是理解R如何打印值有困难。小数点仍然存在,并且在任何计算中都会被结转。@Andrie,亲爱的同事,真是太棒了!我希望答案对你有用@鸭子谢谢!我甚至修复了另一个有趣的bug。这很有趣,但有时==不能正常工作。例如,…%>%过滤器X1==x2%>%。。。不起作用,但…%>%filterroundx1,3==roundx2,3%>%。。。适用于x2为178960.02的情况。感谢您提供的选项Digits=xxx提示!完成。你也可以在这里喜欢我:谢谢