2015-04-06 25 views
9

Vorrei formattare i numeri con il separatore delle migliaia e specificare il numero di decimali. So come farlo separatamente, ma non insieme.Formato numero in R con separatore di virgola e decimali specificati

Ad esempio, io uso format per this per i decimali:

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

E per separatore delle migliaia, formatC:

formatC(1000.64, big.mark=",") # 1,001 

Questi non giocare bene insieme però:

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) 

Come posso ottenere 1,000.6 ?

Modifica: questo è diverso da this question che richiede la formattazione 3,14 come 3,14 (è stato contrassegnato come possibile dup).

risposta

26

format non formatC: (. Scusate se mi manca qualcosa)

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

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

Problemi correlati