Java BigDecimal类(常用的方法)和自己的理解

BigDecimal类(常用的方法)

​ BigDecimal有自身的构造器,具体构造方法参见API

① abs方法 BigDecimal abs(); 一般适用于整数的取绝对值

public static void main(String[] args) {
    BigDecimal B1 = new BigDecimal(-2);
    System.out.println(B1.abs());
}

结果:2

② add方法 常用下面的这种形式: (常用于两个整数的求值,当b1,b2不为整数的时候,求和精度有误,当求和加起来为整数时,精度无误。)

public static void main(String[] args) {
    BigDecimal b1 = new BigDecimal(-2);
    BigDecimal b2 = new BigDecimal(6);
    System.out.println(b1.add(b2));
}

结果:4

③ divide方法 求商 返回值为BigDecimal。注意:如果无法表示准确的商(因为它具有非终止的十进制扩展),则抛出ArithmeticException 。

public static void main(String[] args) {
    BigDecimal b1 = new BigDecimal(8);
    BigDecimal b2 = new BigDecimal(4);
    System.out.println(b1.divide(b2));
}

结果:2

④ 除了equals方法其他方法均无参数,返回值即是转换的值。只有int 和 long 转换存在丢失数据信息的可能,则有一个检查的方法在转换原基础上增加了Exact。

double doubleValue() 将 BigDecimal转换为 double 。
boolean equals(Object x) 将此 BigDecimal与指定的 Object进行相等性比较。
float floatValue() 将 BigDecimal转换为 float 。
int hashCode() 返回此 BigDecimal的哈希码。
int intValue() 将 BigDecimal成 int 。
int intValueExact() 将 BigDecimal转换为 int ,检查是否丢失了信息。
long longValue() 将 BigDecimal转换为 long 。
long longValueExact() 将此 BigDecimal转换为 long ,检查是否丢失了信息。

⑤ max,min有一个BigDecimal类型参数,返回值类型BigDecimal。返回最大或最小值。

⑥ valueOf方法,将double或者long转换为BigDecimal类型。

注意:当我们使用构造方法传入的是字符串数字的时候,小数丢失精度问题则没有了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kepnosian

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值