2015-04-06 20 views
9

Rakamların hem bin ayırıcısı hem de ondalık sayısını belirterek biçimlendirmek istiyorum. Bunları ayrı ayrı nasıl yapacağımı biliyorum ama birlikte değil.Hem virgül ayraçlı ayırıcı hem de belirtilen ondalık basamaklarla R biçimindeki biçim numarası

Örneğin, ben ondalık için this başına format kullanın:

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

Ve binlerce ayırıcı için

, formatC:

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

Bunlar birlikte güzel oynamak yok gerçi:

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 nasıl edinebilirim? ?

Düzenleme: Bu, biçimlendirmeyi 3.14 3.14 olarak soran (mümkün olduğu kadar çift olarak işaretlenmiş) this question'dan farklıdır.

cevap

26

format değil formatC: (. Üzgünüm özlüyorum eğer bir şey)

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

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

İlgili konular