2015-04-06 138 views
9

我想使用两个千位分隔符格式化数字并指定小数位数。我知道如何分开做,但不能在一起。R中的格式编号,包含逗号分隔符和指定小数位

例如,我用formatthis为小数:

FormatDecimal <- function(x, k) { 
    return(format(round(as.numeric(x), k), nsmall=k)) 
} 
FormatDecimal(1000.64, 1) # 1000.6 

和千位分隔符,formatC

​​

这些不玩在一起很好,虽然:

formatC(FormatDecimal(1000.64, 1), big.mark=",") 
# 1000.6, since no longer numeric 
formatC(round(as.numeric(1000.64), 1), nsmall=1, big.mark=",") 
# Error: unused argument (nsmall=1) 

我怎样才能得到1,000.6

编辑:这与this question不同,它询问格式化3.14为3,14(被标记为可能的dup)。

回答

26

formatformatC:(抱歉,如果我想的东西)

format(round(as.numeric(1000.64), 1), nsmall=1, big.mark=",") # 1,000.6

0
formatC(1000.64, format="f", big.mark=",", digits=1) 

相关问题