我使用DecimalFormat创建一个总长度为6个字符的格式化小数.起初我使用了格式字符串new DecimalFormat("000.00")但这给了我一个负数的错误.添加减号并使第一个空格更大,导致-005.25而不是-05.25所希望的.
我已经能够使用以下代码解决此问题
DecimalFormat fmt;
if(netAmt < 0){
fmt = new DecimalFormat("00.00");
}else{
fmt = new DecimalFormat("000.00");
}
System.out.println(fmt.format(netAmt));
Run Code Online (Sandbox Code Playgroud)
但是DecimalFormat具有将;负数格式设置为不同于正数的字符.我无法正常工作.据我所知,以下代码应该像上面这样工作.
DecimalFormat fmt = new DecimalFormat("000.00;00.00");
System.out.println(fmt.format(netAmt));
Run Code Online (Sandbox Code Playgroud)
结果是,之前的模式;用于负数和正数,导致-005.25错误保留.我究竟做错了什么?我误解了什么;是为了什么?