首页 > 其他分享 >大数处理-BigInteger 和 BigDecimal 类

大数处理-BigInteger 和 BigDecimal 类

时间:2022-12-17 22:11:07浏览次数:46  
标签:BigInteger BigDecimal 大数 System println bigDecimal out

1.BigInteger 和 BigDecimal 类应用场景

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

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

2.BigInteger 和 BigDecimal 常见方法

1671283951936

1671284027148

public class BigInteger_ {
    public static void main(String[] args) {

        //当我们编程中,需要处理很大的整数,long 不够用
        //可以使用BigInteger的类来搞定
//        long l = 23788888899999999999999999999l;
//        System.out.println("l=" + l);

        BigInteger bigInteger = new BigInteger("23788888899999999999999999999");
        BigInteger bigInteger2 = new BigInteger("10099999999999999999999999999999999999999999999999999999999999999999999999999999999");
        System.out.println(bigInteger);
        //老韩解读
        //1. 在对 BigInteger 进行加减乘除的时候,需要使用对应的方法,不能直接进行 + - * /
        //2. 可以创建一个 要操作的 BigInteger 然后进行相应操作
        BigInteger add = bigInteger.add(bigInteger2);
        System.out.println(add);//
        BigInteger subtract = bigInteger.subtract(bigInteger2);
        System.out.println(subtract);//减
        BigInteger multiply = bigInteger.multiply(bigInteger2);
        System.out.println(multiply);//乘
        BigInteger divide = bigInteger.divide(bigInteger2);
        System.out.println(divide);//除


    }
}
public class BigDecimal_ {
    public static void main(String[] args) {
        //当我们需要保存一个精度很高的数时,double 不够用
        //可以是 BigDecimal
//        double d = 1999.11111111111999999999999977788d;
//        System.out.println(d);
        BigDecimal bigDecimal = new BigDecimal("1999.11");
        BigDecimal bigDecimal2 = new BigDecimal("3");
        System.out.println(bigDecimal);

        //老韩解读
        //1. 如果对 BigDecimal进行运算,比如加减乘除,需要使用对应的方法
        //2. 创建一个需要操作的 BigDecimal 然后调用相应的方法即可
        System.out.println(bigDecimal.add(bigDecimal2));
        System.out.println(bigDecimal.subtract(bigDecimal2));
        System.out.println(bigDecimal.multiply(bigDecimal2));
        //System.out.println(bigDecimal.divide(bigDecimal2));//可能抛出异常ArithmeticException
        //在调用divide 方法时,指定精度即可. BigDecimal.ROUND_CEILING
        //如果有无限循环小数,就会保留 分子 的精度
        System.out.println(bigDecimal.divide(bigDecimal2, BigDecimal.ROUND_CEILING));
    }
}

标签:BigInteger,BigDecimal,大数,System,println,bigDecimal,out
From: https://www.cnblogs.com/y-tao/p/16989635.html

相关文章

  • C/C++大数据行程码识别系统
    C/C++大数据行程码识别系统大数据行程码识别系统一、编程题(60分)大数据行程码是疫情防控的主要手段,请用C语言设计简单的大数据行程码识别系统具体功能描述:1、建......
  • 大数据Hadoop之——总结篇
    目录一、前言二、Hadoop1)HDFS常见操作1、HDFS服务启停命令2、常见文件操作命令3、安全模式操作命令4、数据平衡常见操作命令5、处理小文件常见操作命令6、HDFSNameNode主......
  • 大数据量缓存应用--memcached+magent
    越来越感觉到DB力不从心,在面对千万级用户量的应用时,DB面对平凡的curd,特别是查询的时候,早已不堪重负!如何解决高并发下数据的查询效率,在应用中显的越来越重要,好了废话不多说,首......
  • 【报告分享】中科院-地球大数据支撑可持续发展目标报告.pdf
        今天分享的报告来自中国科学院地球大数据科学工程于2019年9月推出的《地球大数据支撑可持续发展目标报告.pdf》,希望对您有用。   关注公众号“智能推荐系统”并......
  • 大数据为网络食品安全保驾护航_光点科技
    作为时下最热门的信息技术之一,大数据与食品安全的结合可谓是一种新的创新。如今,各行各业都开始紧随时代潮流,积极运用这项新技术,希望利用大数据的强大信息优势,帮助行业实现新......
  • 截止今天学习大数据技术的笔记
    Hadoop启动zookeeperbin/zkServer.shstartbin/zkServer.shstop启动Hadoop第一步:hadoop102sbin/start-dfs.sh第二步:hadoop103sbin/start-yarn.sh  第一步:hadoop103sbin/s......
  • 三种大数据应用架构介绍
    信息技术的发展,如今数据存储能力上升到了TB、PB级别,企业和政府部门都以各种形式存储了大量的数据,如何快速有效地处理规模大、结构复杂的数据?本文主要介绍大数据的三类应用......
  • 三种大数据应用架构介绍
     信息技术的发展,如今数据存储能力上升到了TB、PB级别,企业和政府部门都以各种形式存储了大量的数据,如何快速有效地处理规模大、结构复杂的数据?本文主要介绍大数据的三类......
  • 大数据分析助快消行业提升营销效率_光点科技
    众所周知,快消品行业是与人们联系最为紧密的一个行业,几乎每个人每天都要跟快消品打交道,其利用大数据分析的快消行业是不一样的。传统的快消行业,其具备消费频次高、使用时间短......
  • BigDecimal类型返回前端精度丢失
    原文链接:https://www.jianshu.com/p/5907ae7cba72BigDecimal长度太长,返回给前端,精度会丢失,即后几位都会变成0.解决办法:给前端返回字符串类型。加注解:@JsonSerialize(......