DecimalFormat子模式边界不能正常工作
我使用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
错误保留。我究竟做错了什么?我误解了;
的用途吗?
没有找到相关结果
已邀请:
2 个回复
驮帽俺篮号
固定宽度为6,前面有“0”填充? 例
当数字大于3位数时,您希望行为是什么,即不适合?
桔适丛