关于java中BigDecimal应用场景和用法

来源:互联网 发布:淘宝蚂蚁摄影怎么样 编辑:程序博客网 时间:2024/06/05 00:42

BigDecimal用作商业计算的。

 BigDecimal aDouble =new BigDecimal(1.22);     输出:1.2199999999999999733546474089962430298328399658203125

 BigDecimal aString = new BigDecimal("1.22");   输出:1.22

以上两者输出结果是不一样的。

原因:

double的构造方法有不可预知性。

String的构造方法是固定的值。


所以如果类型是Double的话,而且需要精确计算,就用下面方法:

Double.toString(double)方法,可以先转为String,然后再用new BigDecimal("")构造方法。

 注意:BigDecimal都是不可变的(immutable)的,在进行每一步运算时,都会产生一个新的对象,所以在做加减乘除运算时千万要保存操作后的值

原创粉丝点击