BigDecimal比较问题

来源:互联网 发布:vc 数据库控件 编辑:程序博客网 时间:2024/05/21 18:33

BigDecimal中有两种比较方法

① equals

② compareTo

 

①和②都可以用来比较数值相等。

如 BigDecimal.valueOf(1).equals(BigDecimal.valueOf(2))                     false

    BigDecimal.valueOf(1).compareTo(BigDecimal.valueOf(2)) == 0      false

 

 

但是二者比较的区别在于精度的比较:

如 BigDecimal.valueOf(1.0).equals(BigDecimal.valueOf(1))                     false

    BigDecimal.valueOf(1.0).compareTo(BigDecimal.valueOf(1)) == 0      true

 


可以看出compareTo 只比较数值,不计较精度

 

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

//a<b

}

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

//a=b;

}

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

//a>b;

}

 

 

0 0
原创粉丝点击