java-BigDecimal 我会带着你远行 2024-03-26 12:54 77阅读 0赞 同上一篇的BigInteger相似,BigDecimal表示任意大小且精度完全准确的浮点数。 ### 方法 ### **multiply** **scale**表示小数位数,可以返回负数(整数且末尾有几个0) \*\*stripTrailingZeros()\*\*化为末尾去掉多余0的数 \*\*setScale()\*\*设置小数位数: BigDecimal d2 = d1.setScale(4, RoundingMode.HALF_UP); // 四舍五入,123.4568 BigDecimal d3 = d1.setScale(4, RoundingMode.DOWN); // 直接截断,123.4567 **因为精度绝对准确,所以存在除不尽的情况**,此时需要指定**小数位数** **除&取余**得到数组分别为商和余数 BigDecimal[] dr = n.divideAndRemainder(m); ### 比大小 ### **不用equals()**,因为还要比较scale相同。 用**compareTo**,返回负数0正数对应小于等于大于: d1.compareTo(d2) **实质上,BigDecimal是由BigInteger和一个scale表示的** **同样是不可变对象**
相关 JavaBigDecimal的简单使用 JavaBigDecimal的简单使用 使用场景在于就是`计算金额方面`,使用double 类型会存在精度问题 下面粘贴下关于的BigDecimal 的定义: 逃离我推掉我的手/ 2022年09月01日 08:15/ 0 赞/ 140 阅读
还没有评论,来说两句吧...