这段代码
DecimalFormat formatter = new DecimalFormat("0.00");
return formatter.format(-0.001);
返回
"-0.00">
我真的更喜欢(并期望("0.00">
我知道我可以通过编写DecimalFormat的子类来解决这个问题,但是有没有办法使用标准的DecimalFormat来做到这一点?
编辑:我只想改变结果为"-0.00"的特定情况。所有其他负值应保持不变,例如:-9.1 -> "-9.10">
您可以在返回字符串时对其进行测试。
我不相信格式化会操纵值。它只能格式化它。也许您可以先对其进行舍入,然后再对其进行格式化?
DecimalFormat formatter = new DecimalFormat("0.00");
double x = -0.001;
double y = Math.round(x*100.0)/100.0;
return formatter.format(y);