千家信息网

Java的大数型BigInteger与BigDecimal类实例分析

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章主要讲解了"Java的大数型BigInteger与BigDecimal类实例分析",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Java的大数型
千家信息网最后更新 2026年10月31日Java的大数型BigInteger与BigDecimal类实例分析

这篇文章主要讲解了"Java的大数型BigInteger与BigDecimal类实例分析",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Java的大数型BigInteger与BigDecimal类实例分析"吧!

BigInteger类

在Java当中,是有许多数字要进行处理的类,比如Integer类,但是Integer类它也是有上限的。它的最大值就是到2^31-1.

如果我们此时想要表示更大的数,那就用Integer是无法表示的了,所在在Java当中提供了BigInteger类。

BigInteger类支持的数字可以说是无限大的,且支持任意精度的整数,也就是说他可以准确的表示任意数值而不会产生丢失的。

在这里也强调一下,因为传入的数型是字符型,所以在做运算的时候,不能使用 + - * /

对应的就是使用它们的方法:

add(),subtract(),multiply(),divide()

还有一些常用方法:

equals方法。进行比较

代码演示一下:

import java.math.BigInteger;public class Demo01 {    public static void main(String[] args) {        BigInteger bigInteger1 = new BigInteger("2222222222222222222222222222222");        BigInteger bigInteger2 = new BigInteger("1111111111111111111111111111111");        System.out.println("bigInteger1大数为:" + bigInteger1);        System.out.println("bigInteger2大数为:" + bigInteger2);        System.out.println("两个大数相加:" + bigInteger1.add(bigInteger2));//加        System.out.println("两个大数相减:" + bigInteger1.subtract(bigInteger2));//减        System.out.println("两个大数相乘:" + bigInteger1.multiply(bigInteger2));//乘        System.out.println("两个大数相除:" + bigInteger1.divide(bigInteger2));//除        System.out.println("两个大数相比:" + bigInteger1.equals(bigInteger2));//equals进行比较    }}

在做除法的时候,如果有小数位,是这接截取掉小数位。

当然这方面不仅仅有有整型的,也有浮点型。

BigDecimal类

当然浮点型的精度也是可以尽可能大的。

import java.math.BigDecimal;public class Demo02 {    public static void main(String[] args) {        BigDecimal bigDecimal1 = new BigDecimal("12232423432432.53241234324");        BigDecimal bigDecimal2 = new BigDecimal("2.0");        System.out.println("bigDecimal1值: " + bigDecimal1);        System.out.println("bigDecimal2值: " + bigDecimal2);        System.out.println("加:" + bigDecimal1.add(bigDecimal2));        System.out.println("减:" + bigDecimal1.subtract(bigDecimal2));        System.out.println("乘:" + bigDecimal1.multiply(bigDecimal2));        System.out.println("除:" + bigDecimal1.divide(bigDecimal2));    }}

在BigDecimal的方法里面,也更好的解决java语言里面的精度问题(比如出现0.1x3 == 0.3的结果为false的问题)

BigDecimal类当中除法除不尽问题

但是在使用BigDecimal的时候也有一个点需要注意一下(当遇到不能除净的话,它会选择报错的。)

所以在做除法的时候,直接给它做一个截取位数就好。

先来看一个方法:

public BigDecimal divide(BigDecimal divisor, int scale, int roundingMode)

divisor - 除数。

scale - 小数点后保留几位

roundingMode - 选择舍入模式

所以我们就可以将它写成这样:

舍入模式选择:

模式意思
ROUND_CEILING向正无穷取数
ROUND_DOWN向0取数
ROUND_FLOOR向负无穷取数
ROUND_HALF_DOWN四舍五入遇到 .5向下取数
ROUND_HALF_UP四舍五入遇到 .5向上取数
ROUND_HALF_EVEN四舍五入遇到5看前面的数,大于5向上,小于5向下,等于5再向前看。

感谢各位的阅读,以上就是"Java的大数型BigInteger与BigDecimal类实例分析"的内容了,经过本文的学习后,相信大家对Java的大数型BigInteger与BigDecimal类实例分析这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

大数 两个 方法 实例 实例分析 分析 时候 问题 四舍五入 小数 就是 模式 精度 除法 四舍 学习 选择 内容 小数位 数字 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 中关村互联网科技集团 互联网科技社 为想互联网科技 互联网与新科技 唐信互联网科技 大连 互联网科技素材视频竖屏 老年人脱离互联网科技的作文 互联网金融科技公司干啥的 互联网经济与金融科技 厦门比较好的科技互联网公司 链环科技传统企业怎么转型互联网 民营互联网公司国防科技 威龙国际互联网科技公司 群盈汇互联网科技有限公司 山东星卡互联网科技有限公司官网 北京市互联网新科技 下一代互联网重大应用科技园 互联网科技收购价值 互联网金融金融科技 互联网科技大会大佬 深圳互联网科技公司 四川狮子座互联网科技 金融科技和互联网金融 佩信高科技互联网 温州喔噻互联网科技有限公司 欧洲十大科技互联网公司 坤平互联网科技 佛山市翊博互联网络科技有限公司 特约风豹互联网科技为什么扣费 吉林省码上互联网科技电话
0