> 文档中心 > 【Java】大型数据处理(BigInteger和BigDecimal)加减乘除数据处理

【Java】大型数据处理(BigInteger和BigDecimal)加减乘除数据处理

目录

  • 1.BigInteger
  • 2.BigDecimal
    • 示例
    • 测试结果

1.BigInteger

示例

package com.demo;/** * @version 1.0 * @auther Demo龙 */import java.math.BigInteger;public class test01 {    public static void main(String[] args) { //当我们编程中,需要处理很大的整数,long 不够用 //可以使用BigInteger的类来搞定// long l = 23788888899999999999999999999l;// System.out.println("l=" + l); BigInteger bigInteger = new BigInteger("237891654623269874546516136597945484665623266161"); BigInteger bigInteger2 = new BigInteger("4654567675132535695497968656622116655"); System.out.print("输出bigInteger的值="); System.out.println(bigInteger); //1. 在对 BigInteger 进行加减乘除的时候,需要使用对应的方法,不能直接进行 + - * / //2. 可以创建一个 要操作的 BigInteger 然后进行相应操作 BigInteger add = bigInteger.add(bigInteger2); System.out.print("bigInteger和bigInteger2相加的结果="); System.out.println(add);// BigInteger subtract = bigInteger.subtract(bigInteger2); System.out.print("bigInteger和bigInteger2相减的结果="); System.out.println(subtract);//减 BigInteger multiply = bigInteger.multiply(bigInteger2); System.out.print("bigInteger和bigInteger2相乘的结果="); System.out.println(multiply);//乘 BigInteger divide = bigInteger.divide(bigInteger2); System.out.print("bigInteger和bigInteger2相除的结果="); System.out.println(divide);//除    }}

测试结果

【Java】大型数据处理(BigInteger和BigDecimal)加减乘除数据处理

2.BigDecimal

示例

package com.demo;/** * @version 1.0 * @auther Demo龙 */import java.math.BigDecimal;public class test02 {    public static void main(String[] args) { //当我们需要保存一个精度很高的数时,double 不够用 //可以是 BigDecimal// double d = 1999.11111111111999999999999977788d;// System.out.println(d); BigDecimal bigDecimal = new BigDecimal("2002.919"); BigDecimal bigDecimal2 = new BigDecimal("3.145"); BigDecimal bigDecimal03 = new BigDecimal("156.11654578876857897845564565456148789"); System.out.print("输出bigDecimal03的结果="); System.out.println(bigDecimal03); //1. 如果对 BigDecimal进行运算,比如加减乘除,需要使用对应的方法 //2. 创建一个需要操作的 BigDecimal 然后调用相应的方法即可 System.out.print("bigDecimal和bigDecimal2相加的结果="); System.out.println(bigDecimal.add(bigDecimal2));//加法 System.out.print("bigDecimal和bigDecimal2相减的结果="); System.out.println(bigDecimal.subtract(bigDecimal2));//减法 System.out.print("bigDecimal和bigDecimal2相乘的结果="); System.out.println(bigDecimal.multiply(bigDecimal2));//乘法 //System.out.println(bigDecimal.divide(bigDecimal2));//可能抛出异常ArithmeticException //在调用divide 方法时,指定精度即可. BigDecimal.ROUND_CEILING //如果有无限循环小数,就会保留 分子 的精度 System.out.print("bigDecimal和bigDecimal2相除的结果="); System.out.println(bigDecimal.divide(bigDecimal2, BigDecimal.ROUND_CEILING));//除法 System.out.println("抛出异常"); System.out.println(bigDecimal.divide(bigDecimal2));//抛出异常    }}

测试结果

【Java】大型数据处理(BigInteger和BigDecimal)加减乘除数据处理

驱动天空下载