Bigdecimal 相加结果为0的解决

╰半橙微兮° 2021-12-08 19:45 510阅读 0赞

https://blog.csdn.net/persistencegoing/article/details/84376427

之前很少使用这样的一个对象BigDecimal,今天在改需求的时候遇到了,结果坑爹的怎么相加最后都为零。

代码如下:

BigDecimal totalAmount = new BigDecimal(0);

  1. totalAmount.add(new BigDecimal(5000));
  2. System.out.println(totalAmount);

输出结果为0。

查资料后才知道,要这样写才行:

BigDecimal totalAmount = new BigDecimal(0);

  1. totalAmount = totalAmount.add(new BigDecimal("5000"));
  2. System.out.println(totalAmount);

同时,在new一个BigDecimal对象的时候,最好传入字符串或者int类型的数字,因为传入double类型的数字会有很神奇的事情发生

博主强烈推荐:https://blog.csdn.net/persistencegoing/article/details/84376427

希望大家关注我一波,防止以后迷路,有需要的可以加群讨论互相学习java ,学习路线探讨,经验分享与java求职

群号:721 515 304

发表评论

表情:
评论列表 (有 0 条评论,510人围观)

还没有评论,来说两句吧...

相关阅读