format bug

 

formatNumber()的方法目的是为了处理小数四舍五入问题;
public String formatNumber(Object o) {

  try {
   return null == o ? "" : String.format("%.2f", o);
  } catch (IllegalFormatException e) {
   if (log.isErrorEnabled()) {
    log.error("Format Number Round Error:", e);
   }
   return "";
  }

 }
当传入一个large bigdecimal 时报了java.lang.IllegalArgumentException: Digits < 0,查了一下说是由于jdk 本身的bug.IllegalFormatException  无法捕获到当前的错误。索性就改成Exception  .

你可能感兴趣的:(format bug)