快速打印负美元价值的方法

Jea*_*ean 2 perl printf

我目前使用它

 $Profit = -8.2 ;
 printf("%8s",sprintf("\$%0.2f",$Profit)).
Run Code Online (Sandbox Code Playgroud)

打印

 $-8.2
Run Code Online (Sandbox Code Playgroud)

有一种快速简便的打印方式

-$8.2
Run Code Online (Sandbox Code Playgroud)

ike*_*ami 6

sprintf("%s\$%0.2f", $Profit >=0 ? "" : "-", abs($Profit))
Run Code Online (Sandbox Code Playgroud)

5.14+:

sprintf("%0.2f", $Profit) =~ s/^-?\K/\$/r
Run Code Online (Sandbox Code Playgroud)

  • @Jean`\K`将前一个匹配保留在匹配的子字符串之外.它本质上是一个可变长度的后视镜.`\ K`本身比5.14更老了; 这里特别的东西是`/ r`,它返回替换字符串而不是修改原始字符串. (2认同)