大家好,欢迎来到IT知识分享网。
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(
“金额为负数!”); -
}
- 点赞6
- 评论2
- 收藏14
- 手机看
- 打赏
- 关注
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类型 比较大小
for_the_time_begin
7769
一般我们进行类型比较有.equals()、==、.compareTo()但是当比较bigdecimal类型时最好使用.compareTo()来比较大小BigDecimal a=BigDecimal.ZERO;BigDecimal b=BigDecimal.valueOf(0.000);BigDecimal c=BigDecimal.valueOf(0.0);a.equals(b) 的结果会是fal…
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/34685.html
:你的那个bigdecimal转换为int类型不是有问题吗?2.5转int类型不是失真了吗?8月前回复
回复:
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;
}