前言
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.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在商业和工业的计算上用处还是很有帮助的,不会造成细微的数据损失。