如何比较三个BigDecimal值

时间:2015-07-09 17:09:12

标签: java bigdecimal

我需要像这样比较三个Bigdecimal值。 例如:

Convert.ToInt32( 
       Math.Round( 
                  (((double)120000f+(double)1f )/(double)167428f )*(double)100f
                  , 0 )
            )

所有三个值都是BigDecimals.How如何在Java中进行比较。 谢谢。 安拉达。

2 个答案:

答案 0 :(得分:2)

第一个问题是你必须将比较分成两个单独的检查,例如:

if ( Min <= Value && Value <= Max ) {
    // true
} else {
    // false
}

但是,由于您使用的是BigDecimal,因此这些比较器(<<=等)无效,因此您必须使用{{ 3}}:

if ( (Min.compareTo(Value) <= 0) && (Value.compareTo(Max) <= 0) {
    // true
} else {
    // false
}

答案 1 :(得分:1)

您需要使用compareTo。 您提供的示例是:

if(Min.compareTo(Value)<=0 && Max.compareTo(Value) >=0){
     //Do this
    }else{
     //Do this
    }