8、BigInteger和BigDecimal类

BigInteger和BigDecimal类

  1. BigIntege适合保存比较大的整型

  2. BigDecimal适合保存进度更高的浮点型(小数)

  3. 常见方法

    • add 加
    • subtract 减
    • multiply 乘
    • divide 除
    //当我们编程中,需要处理很大的整数,long 不够用
    //可以使用 BigInteger 的类来搞定
    BigInteger bigInteger = new BigInteger("237888888999999999999999999999");
    BigInteger bigInteger1 = new BigInteger("100");
    System.out.println(bigInteger);
    //1. 在对 BigInteger进行加减乘除的时候,需要使用对应的方法,不能直接进行 + - * /
    //2. 可以创建一个要操作的 BigInteger 然后进行相应操作
    BigInteger add = bigInteger.add(bigInteger1);
    System.out.println(add);
    
    //当我们需要保存一个进度很高的数时,double 不够用
    //可以用 BigDecimal
    BigDecimal bigDecimal = new BigDecimal("1999.1111111199999998888888111999");
    BigDecimal bigDecimal1 = new BigDecimal("1.1");
    System.out.println(bigDecimal);
    //1. 在对 BigDecimal进行加减乘除的时候,需要使用对应的方法,不能直接进行 + - * /
    //2. 可以创建一个要操作的 BigDecimal 然后进行相应操作
    //在调用divide方法时,如果除不净,无限循环(不循环),会抛出异常
    //解决:在调用divide 方法时,指定精度即可 BigDecimal.ROUND_CEILING
    //如果有无限循环小数,就会保留 分子 的精度和被除数的精度一致
    System.out.println(bigDecimal.divide(bigDecimal1,BigDecimal.ROUND_CEILING));
    
posted @   花er公子  阅读(39)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示