zoukankan      html  css  js  c++  java
  • BigDecimal 加减乘除 比较大小 setScale(精度处理)

    1、运算        
            BigDecimal bignum1 = new BigDecimal("6");
            BigDecimal bignum2 = new BigDecimal("2");
            BigDecimal bignum3 = null;
            
            //加法
            bignum3 =  bignum1.add(bignum2);      
            System.out.println("和 是:" + bignum3);//8
            
            //减法
            bignum3 = bignum1.subtract(bignum2);
            System.out.println("差  是:" + bignum3);//4
            
            //乘法
            bignum3 = bignum1.multiply(bignum2);
            System.out.println("积  是:" + bignum3);//12
            
            //除法
            bignum3 = bignum1.divide(bignum2);
            System.out.println("商  是:" + bignum3);//3

     2、比较 
    判断一个BigDecimal的金额是否大于0, 
    
    BigDecimal amt= new BigDecimal("-10"); 
    
    int i=amt.compareTo(BigDecimal.ZERO); 
       if(i==-1){ 
    //amt小于0  例如:amt=-10.00 
             } 
       if(i==0){ 
    //amt等于0,  amt=0.00 
             } 
       if(i==1){ 
    //amt大于0  例如:amt=10.00 
    } 

     

     3、精度

    BigDecimal b1 = new BigDecimal("33.45666").setScale(2, BigDecimal.ROUND_DOWN); //直接去掉多余的位数
    BigDecimal b2 = new BigDecimal("33.45655").setScale(2, BigDecimal.ROUND_UP); //直接进位
    BigDecimal b3 = new BigDecimal("33.45655").setScale(2, BigDecimal.ROUND_CEILING); // 天花板(向上),正数进位向上,负数舍位向上
    BigDecimal b4 = new BigDecimal("-33.45655").setScale(2, BigDecimal.ROUND_FLOOR); //地板(向下),正数舍位向下,负数进位向下
    BigDecimal b5 = new BigDecimal("33.45555").setScale(2, BigDecimal.ROUND_HALF_UP);// 四舍五入(若舍弃部分>=.5,就进位)
    BigDecimal b6 = new BigDecimal("33.45555").setScale(2, BigDecimal.ROUND_HALF_DOWN); // 四舍五入(若舍弃部分>.5,就进位)
    BigDecimal b7 = new BigDecimal("33.45655").setScale(2, BigDecimal.ROUND_HALF_EVEN);
    // 如果舍弃部分左边的数字为偶数,则作 ROUND_HALF_DOWN ;
    // 如果舍弃部分左边的数字为奇数,则作 ROUND_HALF_UP

     

    
    

     

  • 相关阅读:
    Cocos2d-x移植Android 常见问题处理办法
    JSON解析问题
    类图(Rose)
    Linux_脚本——使用echo从一个文件写入还有一个文件末尾
    Android HttpClient自己主动登陆discuz论坛!
    Swift编程语言学习1.1——常量与变量
    DVR_RDK编译报错
    啊马蜂蜜哦我阿达十米台内又热偶爱
    贪婪算法之兑换硬币及问题所在
    00095_流的操作规律
  • 原文地址:https://www.cnblogs.com/start-fxw/p/10143002.html
Copyright © 2011-2022 走看看