BigDecimal 类的方法
序号 | 方法名 | 类型 | 描述 |
1 | public BigDecimal(double val) | 构造 |
将double表示形式转换BigDecimal |
2 | public BigDecimal(int val) | 构造 |
将int表示形式转换为BigDecimal |
3 | public BigDecimal(String val) | 构造 |
将字符串表示形式转换BigDecimal |
4 | public BigDecimal add(BigDecimal augend) | 普通 | 加 |
5 | public BigDecimal subtract(BigDecimal subtrahend) | 普通 | 减 |
6 | public BigDecimal multiply(BigDecimal multiplicand) | 普通 | 乘 |
7 | public BigDecimal divide(BigDecimal divisor) | 普通 | 除 |
确保精度
- 使用bigdecimal的计算方法,如果需要四舍五入保留两位小数,调用方法,返回数据类型定义为基本数据类型
BigDecimal b1 = new BigDecimal("1.00"); BigDecimal b2 = new BigDecimal("2.33"); double c = b1.multiply(b2).setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue();
-
public BigDecimal(double val) 构造方法 在进行计算后会损失精度,不可取用,尽量避免使用
-
double转bigdecimal时,使用public BidDecimal(String val) 构造方法进行转换,然后进行计算,无损失精度
double d = 32.15; String str = new Double(d).toString(); BigDecimal result = new BigDecimal(str);