BigDecimal 类型数据的一些应用

Posted Mr_伍先生

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BigDecimal 类型数据的一些应用相关的知识,希望对你有一定的参考价值。

1.比较大小

可以通过BigDecimal的compareTo方法来进行比较.
返回的结果是int类型,-1表示小于,0是等于,1是大于.

例如:

if(a.compareTo(b) == -1){

    a

}

if(a.compareTo(b)==0){

    a=b;

}

if(a.compareTo(b)==1){

    a>b;

}

 

2.常用的四则运算

加法:

public static double add(double v1,double v2){   

  BigDecimal b1 = new BigDecimal(Double.toString(v1));   

  BigDecimal b2 = new BigDecimal(Double.toString(v2));   

     return b1.add(b2).doubleValue();   

}   

 

减法:

public static double sub(double v1,double v2){   

  BigDecimal b1 = new BigDecimal(Double.toString(v1));   

  BigDecimal b2 = new BigDecimal(Double.toString(v2));   

      return b1.subtract(b2).doubleValue();   

}   

 

乘法:

public static double mul(double v1,double v2){   

  BigDecimal b1 = new BigDecimal(Double.toString(v1));   

  BigDecimal b2 = new BigDecimal(Double.toString(v2));   

      return b1.multiply(b2).doubleValue();   

 

除法:

public static double div(double v1,double v2){   

  return div(v1,v2,DEF_DIV_SCALE);   

}

 

3.String 类型的数据转换为BigDecimal数据

String shuju = "123456";

BigDecimal bigDecimal = new BigDecimal(shuju);

 

以上是关于BigDecimal 类型数据的一些应用的主要内容,如果未能解决你的问题,请参考以下文章

Double值保留两位小数的四种方法

java BigDecimal型数据的应用

Scala 开发遇到的坑

java中BigDecimal在前端获取数据的时候精度丢失

squeryl - 将 bigDecimal 保存到数据库

java.math.BigDecimal cannot be cast to java.lang.String