2015-04-06 31 views
9

Tôi muốn định dạng các số có cả dấu tách hàng nghìn và chỉ định số thập phân. Tôi biết làm thế nào để làm những điều này một cách riêng biệt, nhưng không phải với nhau.Định dạng số trong R với cả dấu phẩy hàng nghìn dấu phẩy và số thập phân được chỉ định

Ví dụ, tôi sử dụng format mỗi this cho số thập phân:

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

Và đối với hàng ngàn phân cách, formatC:

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

Những không chơi độc đáo với nhau mặc dù:

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) 

Làm cách nào để có được 1,000.6 ?

Chỉnh sửa: Điều này khác với this question yêu cầu định dạng 3,14 dưới dạng 3,14 (được gắn cờ là có thể là dup).

Trả lời

26

format không formatC: (. Xin lỗi nếu tôi là thiếu cái gì)

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

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

Các vấn đề liên quan