BigDecimal类
BigDecimal
是 Java 中用于精确表示任意精度的十进制数的类。在很多情况下,使用基本数据类型(如double
或float
)进行浮点数计算可能会导致精度丢失或舍入错误。BigDecimal
提供了一种更精确的解决方案,可以处理需要高精度计算的场景,比如财务应用或科学计算等。
BigDecimal
的主要特点包括:
- 任意精度: 可以表示任意长度的十进制数,而不会失去精度。
- 精确计算: 可以执行精确的小数计算,避免了使用浮点数时出现的舍入误差。
- 不可变性:
BigDecimal
实例是不可变的,一旦创建就无法更改,这意味着在进行算术运算时不会影响原始数据。- 舍入规则: 可以通过指定舍入规则来控制舍入行为,以满足特定需求。
总的来说,
BigDecimal
类的作用是提供一种精确表示和计算十进制数的机制,以解决需要高精度计算的问题。
为什么要使用 BigDecimal
首先我们要知道使用传统的 double,int 运算会出现的问题
1. 加法出现的问题