我正在使用 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));
但是 DecimalFormat 具有;
格式化负数与正数不同的字符。我无法正确完成这项工作。据我了解,以下代码应该像上面一样工作。
DecimalFormat fmt = new DecimalFormat("000.00;00.00");
System.out.println(fmt.format(netAmt));
结果是 之前的模式;
同时用于负数和正数,导致-005.25
错误仍然存在。我究竟做错了什么?我误解了什么;
是为了?