BigDecimal類型比較數字大小
1.轉成int
-
BigDecimal b1 = new BigDecimal("-121454125453.145");
-
if(b1.intValue()<0) {
-
System.out.println( "金額為負數!");
-
System.out.println(b1);
-
}
2.compareTo方法,
結果是: -1:小於; 0 :等於; 1 :大於;
-
BigDecimal b1 = new BigDecimal("-121454125453.145");
-
if(b1.compareTo(BigDecimal.ZERO)==-1) {
-
System.out.println( "金額為負數!");
-
}
BigDecimal運算
10-19
BigDecimal運算Jar包。支持sin、cos、tan、asin、acos、atan、pow、sqrt、cbrt、root、log10、log、ln、exp、sinh、cosh、tanh、asi
java BigDecimal類型 比較大小

一般我們進行類型比較有.equals()、==、.compareTo()但是當比較bigdecimal類型時最好使用.compareTo()來比較大小BigDecimal a=BigDecimal.ZERO;BigDecimal b=BigDecimal.valueOf(0.000);BigDecimal c=BigDecimal.valueOf(0.0);a.equals(b) 的結果會是fal...
public int compareTo(BigDecimal val) {
// Quick path for equal scale and non-inflated case.
if (scale == val.scale) {
long xs = intCompact;
long ys = val.intCompact;
if (xs != INFLATED && ys != INFLATED)
return xs != ys ? ((xs > ys) ? 1 : -1) : 0;
}
int xsign = this.signum();
int ysign = val.signum();
if (xsign != ysign)
return (xsign > ysign) ? 1 : -1;
if (xsign == 0)
return 0;
int cmp = compareMagnitude(val);
return (xsign > 0) ? cmp : -cmp;
}