前言
BigInteger方法,可以实现,取值任意精度整数,在运算过程中,不会有任何数据的损失。BigDecimal类比BigInteger加入了小数的概念,支持任意精度的小数。
一、BigDecimal大数字方法是什么?
BigDecimal大数字方法,是取得任意精度小数的方法,计算过程中,不会有任何数据损失。
二、怎么使用?
1.使用步骤
第一步 导入math包
import java.math.BigDecimal;
第二步 new实例化
BigDecimal b=new BigDecimal(Double.toString(value));
第三步 使用运算方法
常用方法 | 解释 |
value1.add(value2); | 加 |
value1.subtract(value2); | 减 |
value1.multiply(value2); | 乘 |
value1.divide(value2,保留几位,处理方法); | 除 |
Divide()方法的多种处理模式
模式 | 含义 |
BigDecimal.ROUND_UP | 商的最后一位>0,向前进位,正负都进 |
BigDecimal.ROUND_DOWN | 商的最后一位省略 |
BigDecimal.ROUND_CEILING | 商是正数,按UP模式处理;商是负数,按DOWN模式处理。使值=>实际值 |
BigDecimal.ROUND_FLOOR | 与CEILING模式相反。使值<=实际值 |
BigDecimal.ROUND_HALF_DOWN | 商四舍五入,五舍去 |
BigDecimal.ROUND_HALF_UP | 四舍五入,五进位 |
BigDecimal.ROUND_HALF_EVEN | 商的倒数第二位为奇数,按HALF_UP处理,为偶数,按HALF_DOWN处理 例: 7.5=8, 8.5=8 |
2.实操展示
代码如下:
import java.math.BigDecimal;
public class argsdemo {
static final int location=10;
//函数创建格式 public/private/protected + 数据类型 +函数名+(数值一,数值二);
//加法方法
public BigDecimal add(double value1,double value2) {
BigDecimal b1=new BigDecimal(Double.toString(value1));
BigDecimal b2=new BigDecimal(Double.toString(value2));
return b1.add(b2);
}
//减法方法
public BigDecimal sub(double value1,double value2) {
BigDecimal b1=new BigDecimal(Double.toString(value1));
BigDecimal b2=new BigDecimal(Double.toString(value2));
return b1.subtract(b2);
}
//乘法方法
public BigDecimal mul(double value1,double value2) {
BigDecimal b1=new BigDecimal(Double.toString(value1));
BigDecimal b2=new BigDecimal(Double.toString(value2));
return b1.multiply(b2);
}
//除法方法
public BigDecimal div(double value1,double value2) {
return div(value1,value2,location);
}
public BigDecimal div(double value1,double value2,int b) {
if(b<0) {
System.out.println("b值必须大于等于0");
}
BigDecimal b1=new BigDecimal(Double.toString(value1));
BigDecimal b2=new BigDecimal(Double.toString(value2));
return b1.divide(b2,b,BigDecimal.ROUND_HALF_UP);
}
public static void main(String[] args) {
argsdemo b=new argsdemo();
System.out.println(b.add(4.4, 6.3));
System.out.println(b.sub(90, 100));
System.out.println(b.mul(8, 2));
System.out.println(b.div(5.4, 3.2, 2));
}
}
运行结果:
总结
以上是对BigDecimal方法的简单总结,BigDecimal在商业和工业的计算上用处还是很有帮助的,不会造成细微的数据损失。