BigDecimal
1. 简介
Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数。在实际应用中,需要对更大或者更小的数进行运算和处理。float和double只能用来做科学计算或者是工程计算,在商业计算中要用java.math.BigDecimal。BigDecimal所创建的是对象,我们不能使用传统的+、-、*、/等算术运算符直接对其对象进行数学运算,而必须调用其相对应的方法。方法中的参数也必须是BigDecimal的对象。构造器是类的特殊方法,专门用来创建对象,特别是带有参数的对象。
2. 构造器描述
构造器 | 说明 |
---|---|
BigDecimal(int) | 创建一个具有参数所指定整数值的对象。 |
BigDecimal(double) | 创建一个具有参数所指定双精度值的对象。 // 不推荐使用 // |
BigDecimal(long) | 创建一个具有参数所指定长整数值的对象。 |
BigDecimal(String) | 创建一个具有参数所指定以字符串表示的数值的对象。// 推荐使用 |
3. 方法描述
方法 | 说明 |
---|---|
add(BigDecimal) | BigDecimal对象中的值相加,然后返回这个对象。 |
subtract(BigDecimal) | BigDecimal对象中的值相减,然后返回这个对象。 |
multiply(BigDecimal) | BigDecimal对象中的值相乘,然后返回这个对象。 |
divide(BigDecimal) | BigDecimal对象中的值相除,然后返回这个对象。 |
toString() | 将BigDecimal对象的数值转换成字符串。 |
doubleValue() | 将BigDecimal对象中的值以双精度数返回。 |
floatValue() | 将BigDecimal对象中的值以单精度数返回。 |
longValue() | 将BigDecimal对象中的值以长整数返回。 |
intValue() | 将BigDecimal对象中的值以整数返回。 |
compareTo(BigDecimal) | 比较两个BigDecimal的大小,大于返回1,等于返回0,小于返回-1 |
BigDecimal a = new BigDecimal("10");
BigDecimal b = new BigDecimal("5");
system.out.println("a + b = " + a.add(b)); // a + b = 15
system.out.println("a - b = " + a.subtract(b)); // a - b = 5
system.out.println("a * b = " + a.multiply(b)); // a * b = 50
system.out.println("a / b = " + a.divide(b)); // a / b = 2
BigDecimal c = new BigDecimal("1.233");
BigDecimal d = new BigDecimal("3.3");
// 结果保留两位小数,四舍五入
system.out.println("c / d = " + c.divide(d, 2, ROUND_HALF_UP)); // c / d = 0.37
int result = a.compareTo(b); // 1
————————————————
更多使用详情见参考博客链接:
原文链接:https://blog.csdn.net/qq_35868412/article/details/89029288