java大数值

在Java中,当需要处理超过基本类型限制的数字时,可以使用BigInteger和BigDecimal类。BigInteger支持任意精度的整数运算,如加、减、乘、除和求模,而BigDecimal则用于任意精度的浮点数运算,同样提供加、减、乘、除操作,并需要指定舍入模式。这些类不支持直接的算数运算符,而是通过特定的方法进行计算,如add、subtract、multiply和divide。
摘要由CSDN通过智能技术生成

使用前提:业务中,基本的整数和浮点数不能满足需求,使用java.math包中的两个类:BigInteger和BigDecimal。这两个类可以处理包含任何长度数字序列的数值。

BigInteger 类实现了任意精度的整数运算。BigDecimal实现了任意精度的浮点数运算。

使用静态valueOf方法可以将普通的数值转换为大数值。

BigInteger a = BigInteger.valueOf(100)

注意:不能使用算数运算符(*、+、/.等)处理大数据。需要使用大数据类中的add和multiply

BigInteger c = a.add(b);//c = a + b
BigInteger d = c.multiply(b.add(BigInteger.valueOf(2))); //d = c * (b+2)

API

BigInteger add(BigInteger other)
BigInteger subtract(BigInteger other)
BigInteger multiply(BigInteger other)
BigInteger divide(BigInteger other)
BigInteger mod(BigInteger other)
返回这个大整数和另一个大整数other的和、差、积、商以及余数。



-int compareTo(BigInteger other)
如果这个大整数与另一个大整数other相等,返回0,如果这个大整数小于另一个大整数other,返回负数,否则返回正数。


- static BigInteger valueOf(long x)
返回值等于x的大整数。

BigDecimal add(BigDecimal other)
BigDecimal subtract(BigDecimal other)
BigDecimal multiply(BigDecimal other)
BigDecimal divide(BigDecimal other,RoundingMode mode) 5.0

返回这个大实数与另一个大实数other的和、差、积、商。要想计算商,必须给出舍入方式(rounding mode)。RoundingMode.HALF_UP是在学校中学习的四舍五入方式(即,数值0到4舍去,数值5到9进位)。其他查看API

int compareTo(BigDecimal other)
如果大实数与另一个相等,返回0.如果这个大实数小于另一个,返回负数,否则返回正数。

static BigDecimal valueOf(long x)
static BigDecimal valueOf(long x,int scale)
返回值为x或x/10^scale的一个大实数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值