用方括号格式化负数

马友

我想将我的负数格式化为“会计”格式,即带有方括号。例如,我想将-1000000格式化为(1,000,000)。

我知道引入千位分隔符的方式:

 prettyNum(-1000000, big.mark=",",scientific=F)

但是,我不确定如何插入括号。我希望能够将格式应用于整个矢量,但是我希望仅影响负数。引入千位分隔符后,数字的向量现在不是characater向量,例如:

 "-50,000" "50,000"  "-50,000" "-49,979" "-48,778" "-45,279" "-41,321"

有任何想法吗?谢谢。

吉尔伯·乌尔比娜(Jilber Urbina)

一个非常简单的方法是使用paste0sub这是一个简单的功能:

my.format <- function(num){
  ind <- grepl("-", num)
  num[ind] <-  paste0("(", sub("-", "", num[ind]), ")")
  num
}

> num <- c("-50,000", "50,000",  "-50,000", "-49,979", "-48,778", "-45,279", "-41,321")
> my.format(num)
[1] "(50,000)" "50,000"   "(50,000)" "(49,979)" "(48,778)" "(45,279)" "(41,321)"

如果您想扭转这种情况,可以说,您有一个像这样的向量:

num2 <- my.format(num)

并且您想要替换(·)-,然后尝试

sub(")", "", sub("\\(", "-", num2))

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章