BigDecimal大数字方法的解释及使用

简介: BigDecimal大数字方法的解释及使用

前言

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

相关文章
|
3天前
|
Java
深入了解Java中的BigDecimal类及其方法
深入了解Java中的BigDecimal类及其方法
9 1
|
7天前
|
Java
BigDecimal中divide方法详解
BigDecimal中divide方法详解
|
24天前
|
存储 Java API
JavaSE——常用API进阶二(2/8)-BigDecimal(BigDecimal的常见构造器、常用方法,用法示例,使用规范)
JavaSE——常用API进阶二(2/8)-BigDecimal(BigDecimal的常见构造器、常用方法,用法示例,使用规范)
18 1
|
2月前
|
Java 数据库
Java中BigDecimal比较大小的方法BigDecimal转换为Integer
Java中BigDecimal比较大小的方法BigDecimal转换为Integer
11 0
|
10月前
BigDecimal如何相除并保留小数后两位(多种方法比较可选)
BigDecimal如何相除并保留小数后两位(多种方法比较可选)
78 0
Java的BigDecimal里方法应该这样用
Java的BigDecimal里方法应该这样用
|
Java
Java中BigDecimal 类的创建对象方法,介绍,常用方法以及8种舍入模式
Java中BigDecimal 类的创建对象方法,介绍,常用方法以及8种舍入模式
540 0
Java中BigDecimal 类的创建对象方法,介绍,常用方法以及8种舍入模式
|
Java 索引
java中大数的计算BigInteger和BigDecimal两个类的常用方法
java中大数的计算BigInteger和BigDecimal两个类的常用方法
76 0
为什么禁止使用BigDecimal的equals方法做等值比较?
BigDecimal,相信对于很多人来说都不陌生,很多人都知道他的用法,这是一种java.math包中提供的一种可以用来进行精确运算的类型。
为什么禁止使用BigDecimal的equals方法做等值比较?