zoukankan      html  css  js  c++  java
  • BigDecimal、double

    BigDecimal篇:

    1.String转BigDecimal

    String s1="123.45";
    
    BigDecimal bg=new BigDecimal(s1);

    2. 解决double相加的精度问题,要用BigDecimal

    public static double add(double v1, double v2)
        {
            BigDecimal b1 = new BigDecimal(Double.toString(v1));
            BigDecimal b2 = new BigDecimal(Double.toString(v2));
            return b1.add(b2).doubleValue();
        }
    

      

    Double a=BigDecimalUtils.format(b).doubleValue();
    

       

    3.加减乘除
    bignum3 =  bignum1.add(bignum2);      
    bignum3 = bignum1.subtract(bignum2);
    bignum3 = bignum1.multiply(bignum2); 
    bignum3 = bignum1.divide(bignum2); 
    

      

    4.比大小

    //前提为a、b均不能为null
    if(a.compareTo(b) == -1){
        System.out.println("a小于b");
    }
     
    if(a.compareTo(b) == 0){
        System.out.println("a等于b");
    }
     
    if(a.compareTo(b) == 1){
        System.out.println("a大于b");
    }
     
    if(a.compareTo(b) > -1){
        System.out.println("a大于等于b");
    }
     
    if(a.compareTo(b) < 1){
        System.out.println("a小于等于b");
    }
    

     

    5.等于0

    if(num.equals(BigDecimal.ZERO)){ }
    

     

    6.转换成类型

    toString()                将BigDecimal对象的数值转换成字符串。 
    doubleValue()          将BigDecimal对象中的值以双精度数返回。 
    floatValue()             将BigDecimal对象中的值以单精度数返回。 
    longValue()             将BigDecimal对象中的值以长整数返回。 
    intValue()               将BigDecimal对象中的值以整数返回。

    6.保留两位小数处理

    //第一种方法:保留两位小数
    double db = bigDecimalTwo.setScale(2, RoundingMode.HALF_UP).doubleValue();
    System.out.println(db);
     
    // 第二种方法:保留两位小数
    DecimalFormat df = new DecimalFormat("#.00");
    df.format(bigDecimalTwo);
    

      

     

    ----------------------------------------分割线---------------------------------------------------------------------------

    double篇:

     double的比大小,判是否等于0都会有精度问题

    要用BigDecimal来处理

    
    
  • 相关阅读:
    C#的ugui与XLua整合的案例
    关于C#调用XLua的函数抛出attempt to call a nil value (global 'print')
    关于文件上传的坑,tomcat一重启图片就消失
    linux服务器安装zookeeper本地项目远程连接
    使用eazyExcel读取数据结合mybatis批量保存到数据库(优化批量保存)
    jpa set值持久化解决办法
    cascade级联关系
    @JoinTable和@JoinColumn
    json操作容易出现的细微问题
    attr和prop的区别
  • 原文地址:https://www.cnblogs.com/python924/p/13576771.html
Copyright © 2011-2022 走看看