BigDecimal num=new BigDecimal("0.00").stripTrailingZeros();
System.out.println(num);
输出为0.00,谁能解释下这是问什么吗?

解决方案 »

  1.   

    stripTrailingZeros(); 
    API:数值上等于移除所有尾部零的 BigDecimal
    但是0.00来说就是[0,2]
    如果使用了stripTrailingZeros(); 对于[0,-2]没有任何还是等于0.00
    如果整数部分有数值的话,就不一样了。
    比如2.00,那么相当于[200,2],然后使用stripTrailingZeros(); 后就相当于[200,-2],那么就会去掉后面的两个00。