BigDecimal
简介
Java
中提供了对于大实数运算的相关类BigDecimal
,对于那些无法用二进制数精确运算的数可以使用BigDecimal
来进行精确运算,BigDecimal
的底层存储的是一个 byte 数组,对应String
中的每一位,比如:
-132.131432
⬇
[45, 49, 51, 50, 46, 49, 51, 49, 52, 51, 50]
⬇
[‘-‘, ‘1’, ‘3’, ‘2’, ‘.’, ‘1’, ‘3’, ‘1’, ‘4’, ‘3’, ‘2’]
常用方法
方法名称 | 说明 |
---|---|
BigDecimal(String val) | 用字符串构造一个大实数 |
static BigDecimal valueOf(double val) | 返回数值为 val 的大实数,对于 double 范围内数字推荐用此方法,底层有优化 |
BigDecimal add(BigDecimal val) | 返回大实数之和 |
BigDecimal subtract(BigDecimal val) | 返回大实数之差 |
BigDecimal multiply(BigDecimal val) | 返回大实数之积 |
BigDecimal divide(BigDecimal val) | 返回大实数之商,商为无限小数会报错 |
BigDecimal divide(BigDcimal val,int scale,RoundingMode roundingMode) | 返回大实数之商,保留小数点后几位,并按指定舍入模式舍入 |
int compareTo(BigDecimal val) | 如果相等返回 0,大于返回正数,小于返回负数 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 AnA.!
评论