zoukankan      html  css  js  c++  java
  • java BigInteger与BigDecimal

    一 BigInteger

        javalong型为最大整数类型,对于超过long型的数据如何去表示呢.Java的世界中,超过long

    的整数已经不能被称为整数了,它们被封装成BigInteger对象.BigInteger类中,实现四则运算都是方法

    来实现,并不是采用运算符.

      BigInteger类的构造方法:

      构造方法中,采用字符串的形式给出整数

     四则运算代码:

    / 
    public static void main(String[] args) {
            //大数据封装为BigInteger对象
              BigInteger big1 = new BigInteger("12345678909876543210");
              BigInteger big2 = new BigInteger("98765432101234567890");
              //add实现加法运算
              BigInteger bigAdd = big1.add(big2);
              //subtract实现减法运算
              BigInteger bigSub = big1.subtract(big2);
              //multiply实现乘法运算
              BigInteger bigMul = big1.multiply(big2);
              //divide实现除法运算
              BigInteger bigDiv = big2.divide(big1);
    }

    二 BigDecimal

      doublefloat类型在运算中很容易丢失精度,造成数据的不准确性,Java提供我们BigDecimal类可以实

    现浮点数据的高精度运算

       构造方法如下:

     

      建议浮点数据以字符串形式给出,因为参数结果是可以预知的

      实现加法减法乘法代码如下

    public static void main(String[] args) {
              //大数据封装为BigDecimal对象
              BigDecimal big1 = new BigDecimal("0.09");
              BigDecimal big2 = new BigDecimal("0.01");
              //add实现加法运算
              BigDecimal bigAdd = big1.add(big2);
              
              BigDecimal big3 = new BigDecimal("1.0");
              BigDecimal big4 = new BigDecimal("0.32");
              //subtract实现减法运算
              BigDecimal bigSub = big3.subtract(big4);
              
              BigDecimal big5 = new BigDecimal("1.105");
              BigDecimal big6 = new BigDecimal("100");
              //multiply实现乘法运算
              BigDecimal bigMul = big5.multiply(big6);

    对于浮点数据的除法运算,和整数不同,可能出现无限不循环小数,因此需要对所需要的位数进行保留和选择舍入模式

     

  • 相关阅读:
    利用python在windows环境下爬取赶集网工作信息。
    扔骰子
    python 输入英语单词,查看汉语意思
    获取指定日期的上一个月日期
    爬取代理IP,并判断是否可用。
    递归实现 十进制转换其他进制(2-16)
    特殊回文数
    python 实现无序列表
    python 实现剪刀石头布(三局两胜)
    python 实现简单语音聊天机器人
  • 原文地址:https://www.cnblogs.com/jiejava/p/13297780.html
Copyright © 2011-2022 走看看