gpt4 book ai didi

BigDecimal中divide(除)方法注意问题_BigDecimal 判断大于小于

转载 作者:知者 更新时间:2024-03-12 23:36:04 27 4
gpt4 key购买 nike

BigDecimal中divide方法抛异常:

Non-terminating decimal expansion; no exact representable decimal result

Idea也会给出警告

原因是在做除法的时候出现了无限不循环小数如:33.333333333333

解决方案

在做除法的时候指定保留的小数的位数:

BigDecimal rate = new BigDecimal(1).divide(new BigDecimal(3), 6, BigDecimal.ROUND_HALF_UP);

扩展:

BigDecimal 判断大于小于

BigDecimal a = new BigDecimal (101);
BigDecimal b = new BigDecimal (111);
 
//使用compareTo方法比较
//注意:a、b均不能为null,否则会报空指针
if(a.compareTo(b) == -1){
    System.out.println("a小于b");
}
 
if(a.compareTo(b) == 0){
    System.out.println("a等于b");
}
 
if(a.compareTo(b) == 1){
    System.out.println("a大于b");
}
 
if(a.compareTo(b) > -1){
    System.out.println("a大于等于b");
}
 
if(a.compareTo(b) < 1){
    System.out.println("a小于等于b");
}

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com