概述
如果基本的整数和浮点数精度不能够满足需求, 那么可以使用java.math 包中的两个很有用的类:Biglnteger 和 BigDecimal。 这两个类可以处理包含任意长度数字序列的数值。Biglnteger 类实现了任意精度的整数运算,BigDecimal 实现了任意精度的浮点数运算。使用静态的 valueOf方法可以将普通的数值转换为大数值:
Biglnteger a = Biglnteger.valueOf(100);
遗憾的是,不能使用人们熟悉的算术运算符(如:+ 和 *) 处理大数值。 而需要使用大数值类中的 add 和 multiply 方法。
Biglnteger c = a.add(b); // c = a + b
Biglnteger d = c.multiply(b.add(Biglnteger.val ueOf(2))); // d = c * (b + 2)
下面的 API 注释汇总了Biglnteger 最常用的方法
方法 | 实现功能 |
---|---|
Biglnteger add(Biglnteger other) | 返冋这个大整数和另一个大整数 other的和 |
Biglnteger subtract(Biglnteger other) | 返冋这个大整数和另一个大整数 other的差 |
Biglnteger multiply(Biginteger other) | 返冋这个大整数和另一个大整数 other的积 |
Biglnteger divide(Biglnteger other) | 返冋这个大整数和另一个大整数 other的商 |
Biglnteger mod(Biglnteger other) | 返冋这个大整数和另一个大整数 other的余数 |
int compareTo(Biglnteger other) | 如果这个大整数与另一个大整数 other 相等, 返回 0; 如果这个大整数小于另一个大整数 other, 返回负数; 否则, 返回正数。 |
static Biglnteger valueOf(long x) | 返回值等于 x 的大整数。 |
下面的 API 注释汇总了BigDecimal 最常用的方法
方法 | 实现功能 |
---|---|
BigDecimal add(BigDecimal other) | 返回这个大实数与另一个大实数 other 的和 |
BigDecimal subtract(BigDecimal other) | 返回这个大实数与另一个大实数 other 的差 |
BigDecimal multiply(BigDecimal other) | 返回这个大实数与另一个大实数 other 的积 |
BigDecimal divide(BigDecimal other,RoundingMode mode) | 返回这个大实数与另一个大实数 other 的商。要想计算商,必须给出舍入方式。RoundingMode.HALF UP 是四舍五入方式。 |
int compareTo(BigDecimal other) | 如果这个大实数与另一个大实数相等, 返回 0 ; 如果这个大实数小于另一个大实数,返回负数;否则,返回正数。 |
static BigDecimal valueOf(long x) | 返回值为x的一个大实数。 |
static BigDecimal valueOf(long x ,int scale) | 返回值为 x / 10^scale 的一个大实数。 |
最后
以上就是敏感棒棒糖为你收集整理的Java知识点——大数值(BigInteger BigDecimal)的全部内容,希望文章能够帮你解决Java知识点——大数值(BigInteger BigDecimal)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复