我想在美元符号前用减号正确格式化负货币值。
以下代码在美元符号后面加上减号,即$ -100
library(scales)
dollar(-100)
您如何将其更改为所需的输出,即 - 100美元?我没有在文档https://rdrr.io/cran/scales/man/dollar_format.html中看到明显的选项
由于dollar()
的输出是一个字符向量,你可以在结果上使用chartr
定义一个新函数来有条件地交换字符并使用...
将额外的参数传递给原始函数。
library(scales)
newdollar <- function(x, ...) ifelse(x < 0, chartr("$-", "-$", dollar(x, ...)), dollar(x, ...))
newdollar(c(5, -5), suffix = "!!" )
[1] "$5!!" "-$5!!"
一种hacky方法是,如果amount
小于0,则明确地向amount
的绝对值添加“ - ”符号。
library(scales)
amount <- c(100, -200, -50)
ifelse(amount < 0, paste0("-", dollar(abs(amount))), dollar(amount))
#[1] "$100" "-$200" "-$50"