fix r sum() auto remove the small digital .05

fix r sum() auto remove the small digital .05

我有一个问题,当我使用 R sum() 函数时,sum() 会自动删除小数字,例如总计 0.05。

关于如何解决这个问题有什么建议吗? 最初我使用 dplyr summarize(sum()) function.and 我发现了问题

dfexl %>% 
  filter(Text=='Totalt') %>%
  summarise( number_of_total = n(),
             grundbook_total = sum(Konto, na.rm = T))

最简单的版本是

sum(22068.00, 144501.00,  71153.00,  26193.05,  10395.00 , 80619.00)

它会输出:354929 而不是 354929.05

有什么建议吗?

我连下面2个方法都用了,都无法修复

dfexl %>% 
  filter(Text=='Totalt') %>%
  summarise( number_of_total = n(),
             grundbook_total = round(sum(Konto * 100, na.rm = T)/100,4))

如果我使用 grundbook_total*100 那么我可以看到 35492905。

options(digits=4)

谢谢!

我相信这只是一个打印输出问题;如果您想增加打印输出中的有效数字位数,您可以尝试:

sprintf("%.2f",sum(22068.00, 144501.00,  71153.00,  26193.05,  10395.00 , 80619.00))
# [1] "354929.05"

而要更改位数,只需更改第一个参数中的数字即可,即:

sprintf("%.10f",sum(22068.00, 144501.00,  71153.00,  26193.05,  10395.00 , 80619.00))
#[1] "354929.0500000000"