代码显示如下:
readr::parse_double("123,456,789.987",
locale = locale(decimal_mark = ".",
grouping_mark = ","))预期结果是: 123456789.987
但事实证明,这引发了一个错误:
1 parsing failure.
row # A tibble: 1 x 4 col row col expected actual
expected <int> <int> <chr> <chr> actual 1 1
NA no trailing characters ,456,789.987
[1] NA
attr(,"problems")我在想为什么会发生这种事,怎么解决呢?
发布于 2017-11-25 15:24:44
我不确定,但看起来你需要parse_number:来自?parse_number
在数字中忽略由区域设置指定的分组标记。
parse_double()的帮助页面没有说它没有忽略分组标记,但是它没有说它忽略了.
print(parse_number("123,456,789.987"),digits=20)
## [1] 123456789.98700000346(由于这个数字不能精确地用双精度浮点表示,所以在结尾处会出现额外的数字)
https://stackoverflow.com/questions/47487424
复制相似问题