Integer类作为int的包装类,能存储的最大整型值为2^31-1 ,Long类最大为2^63-1,虽然比Integer类大了很多,但是也是有限的。如果想要表示更大的整数,不管是基本数据类型还是它们对应的包装类都无法实现。Java中提供了两个用于高精度计算的类:BigInteger和BigDecimal,这两个类包含的方法、提供的操作与基本类型及其对应的包装类相同,并提供了java.lang.Math的所有相关方法。BigInteger类实现了任意精度的整数运算,BigDecimal实现了任意精度的浮点数运算。
java.math包下的BigInteger可以表示不可变的任意精度的整数,主要是针对整型大数字的处理类,在运算中可以准确地表示任何大小的整数值,而不会丢失任何信息。
常用构造器:
BigInteger(String val):根据字符串构建BigInteger对象
//如下所示:
BigInteger bigInteger=new BigInteger("1234567891011121314151617181920");
System.out.println(bigInteger);//1234567891011121314151617181920
常用方法:
public BigInteger abs():返回对象的绝对值
public BigInteger pow(int exponent) :返回对象的平方数
public BigInteger add(BigInteger val) :返回对象与另一个对象的和
public BigInteger subtract(BigInteger val) :返回对象与另一个对象的差
public BigInteger multiply(BigInteger val):返回对象与另一个对象的积
public BigInteger divide(BigInteger val) :返回对象与另一个对象的商,整数相除只保留整数部分
public BigInteger remainder(BigInteger val) :返回对象与另一个对象的余数
public int compareTo(BigInteger val):比较对象与另一个对象的大小
由于float类型和double在计算时很容易丢失精度。但在商业计算中,尤其是与计算货币值相关时,要求数字的精度很高,Java提供了java.math.BigDecimal类用来实现任意精度的浮点数运算,可以用它进行精确的货币计算。
常用构造器:
BigDecimal(int val):根据int类型的数字构建BigDecimal对象
BigDecimal(long val):根据long类型的数字构建BigDecimal对象
BigDecimal(double val):根据double类型的数字构建BigDecimal对象
BigDecimal(String val):根据字符串构建BigDecimal对象
BigDecimal(BigInteger val):根据BigInteger类型的数字构建BigDecimal对象
常用方法:
public BigDecimal abs():返回对象的绝对值
public BigDecimal pow(int n) :返回对象的平方数
public BigDecimal add(BigDecimal augend) :返回对象与另一个对象的和
public BigDecimal subtract(BigDecimal subtrahend):返回对象与另一个对象的差
public BigDecimal multiply(BigDecimal multiplicand):返回对象与另一个对象的积
public BigDecimal remainder(BigDecimal divisor):返回对象与另一个对象的余数
public int compareTo(BigDecimal val):比较对象与另一个对象的大小
BigDecimal可以用来做超大的浮点数的运算,比如+ - * /的运算,其中除法运算是最复杂的,因为商的位数可能有除不进的情况,此时需要考虑末位小数点的处理。
//参数1:被除数 参数2:表示小数近似处理的模式(舍入模式)
public BigDecimal divide(BigDecimal divisor, int roundingMode)
常用的舍入模式:
本文地址:https://blog.csdn.net/Mr_wxc/article/details/107333919
如对本文有疑问, 点击进行留言回复!!
现在微服务这么火,你还不了解吗?阿里P8推荐的微服务学习指南
论文笔记:SlowFast Networks for Video Recognition
网友评论