Gue*_*est 3 coldfusion number-formatting
我试图在ColdFusion中将-1000的值格式化为 - $ 1,000.00.使用dollarFormat时,它会在括号中显示负数($ 1,000.00).当我像这样使用numberFormat时:
numberFormat(-1000,'$');
Run Code Online (Sandbox Code Playgroud)
它显示为 - $ 1000,没有2位小数和逗号,但在正确的位置显示减号.如果我尝试:
numberFormat(-1000,'$_,___.__');
Run Code Online (Sandbox Code Playgroud)
它显示为$ -1,000.00,其中减号位于$符号后面.如果我尝试:
numberFormat(-1000,'-$_,___.__');
Run Code Online (Sandbox Code Playgroud)
它仍显示为$ -1,000.00,其中减号位于$符号后面.
似乎如果没有小数,则减号位于正确的位置,但只要添加小数,则减号将出现在美元符号后面.有没有人知道如何正确地获得格式 - $ 1,000.00?
使用Java DecimalFormat,它允许为正数和负数提供格式化掩码:
for (v in [1234,-5678]){
result = createObject("java", "java.text.DecimalFormat").init("$##,####0.00;-$##,####0.00").format(javacast("double",v));
writeDump(var=[v, result]);
writeOutput("<hr>");
}
Run Code Online (Sandbox Code Playgroud)
显然将它包装在UDF中.