关于小数点处理

---------------关于小数点处理-----------------


货币以及小数点处理避开使用float以及double, 用BigDecimal类来代替。


使用BigDecimal类几点注意事项
1. 比较相等时,不要使用equals() 而使用compareTo()
   compareTo() 返回值: -1:小于 0:等于 1:大于


2. BigDecimal 是不可变类。    
    - 对于不可变类特性不熟悉,自行百度。
    - 不知道不可变类,会问出这样的问题。 https://stackoverflow.com/questions/1846900/addition-for-bigdecimal


3. 基础加减乘除方法
    加: add()
    减: subtract()
    乘: multiply()
    除: divide()


4.  构造方法中,传double跟传string 结果会不一样。推荐使用传String
    如, BigDecimal bb1 = new BigDecimal(Double.toString(0.02));


    相关讨论参照地址: http://www.cnblogs.com/digdeep/p/4459781.html


5. 综合应用
    BigDecimal bb1 = new BigDecimal(Double.toString(0.02));
    BigDecimal bb2 = new BigDecimal(Double.toString(0.03));
    System.out.println(bb2.subtract(bb1));


6. BigDecimal JAVA API 文档地址
    https://docs.oracle.com/javase/8/docs/api/java/math/BigDecimal.html
发布了11 篇原创文章 · 获赞 6 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/LYW_lyw/article/details/80007164