---------------关于小数点处理-----------------
货币以及小数点处理避开使用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
货币以及小数点处理避开使用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