关于小数点处理

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


货币以及小数点处理避开使用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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值