• Java——BigInteger、BigDecimal


    一、Biginteger

    1.1、介绍

    java.math.Biginteger类不是基本数据类型之一,可以用来对一些大整数做运算。当超出基本数据类型数据范围的整数运算时就可以使用BigInteger了。

    1.2、构造方法

    BigInteger(String value)
    

    可以将整数的字符串,转换为BigInteger对象。

    1.3、常用方法

    public BigInteger add(BigInteger value)   // 超大整数加法运算
    
    public BigInteger subtract(BigInteger value)   // 超大整数减法运算
    
    public BigInteger multiply(BigInteger value)   // 超大整数乘法运算
    
    public BigInteger divide(BigInteger value)   // 超大整数除法运算,除不尽取整数部分
    

    例子

    public class BigIntegerTest {
        public static void main(String[] args) {
            BigInteger bigNum1 = new BigInteger("123456789987654321");
            BigInteger bigNum2 = new BigInteger("2");
    
            System.out.println("加法结果:" + bigNum1.add(bigNum2));   // 加法结果:123456789987654323
            System.out.println("减法结果:" + bigNum1.subtract(bigNum2));   // 减法结果:123456789987654319
            System.out.println("乘法结果:" + bigNum1.multiply(bigNum2));   // 乘法结果:246913579975308642
            System.out.println("除法结果:" + bigNum1.divide(bigNum2));   // 除法结果:61728394993827160
        }
    }
    

    二、BigDecimal

    2.1、介绍

    java.math.BigDecimal可以对大浮点数进行运算,保证运算的准确性。float、double它们在存在及运算的时候,会导致数据精度的丢失。如果要保证运算的准确性,就需要使用BigDeciaml。

    2.2、构造方法

    BigDecimal(String val)
    

    将BigDecimal的字符串表示形式转换为BigDecimal。

    2.3、常用方法

    public BigDecimal add(BigDecimal value)   // 加法运算
    
    public BigDecimal subtract(BigDecimal value)   // 减法运算
    
    public BigDecimal multiply(BigDecimal value)   // 乘法运算
    
    public BigDecimal divide(BigDecimal value)   // 除法运算(除不尽会有异常)
    
    public BigDecimal divide(BigDecimal value, int scale, RoundingMode roundingMode)   // 除法运算(除不尽,使用该方法)参数说明:scale 准确位数,roundingMode取舍模式 RoundingMode.HALF_UP 四舍五入
    

    例子

    public class BigDecimalTest {
        public static void main(String[] args) {
            BigDecimal bigDec1 = new BigDecimal("10.999999999999999");
            BigDecimal bigDec2 = new BigDecimal("0.3001");
            System.out.println("加:" + bigDec1.add(bigDec2));   // 加:11.300099999999999
            System.out.println("减:" + bigDec1.subtract(bigDec2));   // 减:10.699899999999999
            System.out.println("乘:" + bigDec1.multiply(bigDec2));   // 乘:3.3010999999999996999
            System.out.println("除:" + bigDec1.divide(bigDec2, 3, RoundingMode.HALF_UP));   // 除:36.654
        }
    }
    

      

     

  • 相关阅读:
    Linux install
    plafrom library
    lua 线程
    plafrom SDK
    CSS中的focus-within伪类选择器
    网站打开速度优化_如何提高网页访问速度技巧方法总结
    网页预加载_骨架屏Skeleton Screen的实现
    SASS简介及使用方法
    什么是BFC布局——浅析BFC布局的概念以及作用
    JAVA面试题(九):JVM
  • 原文地址:https://www.cnblogs.com/xulinjun/p/14769837.html
Copyright © 2020-2023  润新知