Java常用类库BigDecimal
一、 概述
- Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。
- 开发中,如果我们需要精确计算的结果,则必须使用BigDecimal类来操作。
- BigDecimal所创建的是对象,故我们不能使用传统的+、-、*、/等算术运算符直接对其对象进行数学运算,而必须调用其相对应的方法。方法中的参数也必须是BigDecimal的对象。构造器是类的特殊方法,专门用来创建对象,特别是带有参数的对象。
常用字段
FieldsModifier and Type | Field | Description |
---|---|---|
static BigDecimal | ONE | 值1,标度为0 |
static BigDecimal | TEN | 值10,标度为0 |
static BigDecimal | ZERO | 值0,标度为0 |
常用构造方法
Constructor | Description |
---|---|
常用 | |
BigDecimal(int) | int→BigDecimal |
BigDecimal(long) | long→BigDecimal |
少用 | |
BigDecimal(double) | double → BigDecimal |
BigDecimal(String) | BigDecimal的字符串→ BigDecimal |
常用方法
Modifier and Type | Method | Description |
---|---|---|
BigDecimal | add(BigDecimal) | BigDecimal对象中的值相加,返回这个对象 |
BigDecimal | subtract(BigDecimal subtrahend) 对象中的值相减,返回这个对象 | |
BigDecimal | multiply(BigDecimal) | BigDecimal对象中的值相乘,返回这个对象 |
BigDecimal | divide(BigDecimal) | BigDecimal对象中的值相除,返回这个对象 |
double | doubleValue() | 将 BigDecimal转换为 double |
float | floatValue() | 将 BigDecimal转换为 float |
int | intValue() | 将 BigDecimal成 int |
long | longValue() | 将 BigDecimal转换为 long |
String | toString() | 将BigDecimal对象的数值转换成字符串 |
BigDecimal | abs() | 返回绝对值 |
int | compareTo(BigDecimal) | 比较大小,小返回-1 |
BigDecimal | max(BigDecimal) | 返回较大的值 |
BigDecimal | min(BigDecimal) | 返回较小的值 |
BigDecimal | movePointLeft(int n) | 返回小数点向左移动n位的值 |
BigDecimal | movePointRight(int n) | 返回小数点向右移动n位的值 |
BigDecimal | multiply(BigDecimal multiplicand) | 返回这个值的相反数 |
BigDecimal | pow(int n) | 返回this^n |
BigDecimal | setScale(int n) | 确定小数点后的位数n |
static BigDecimal | valueOf(long/double) | 值转换为 BigDecimal |