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