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