我是靠谱客的博主 敏感棒棒糖,最近开发中收集的这篇文章主要介绍Java知识点——大数值(BigInteger BigDecimal),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

如果基本的整数和浮点数精度不能够满足需求, 那么可以使用java.math 包中的两个很有用的类:BiglntegerBigDecimal。 这两个类可以处理包含任意长度数字序列的数值。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)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(68)

评论列表共有 0 条评论

立即
投稿
返回
顶部