• BigDecimal 使用 静态方法总结


    转自:http://myrecord.top/?post=18

    -------------千位加,
    
     public static  String  getQs(String old){
                     boolean result= old.matches("^[-+]?(([0-9]+)([.]([0-9]+))?|([.]([0-9]+))?)$");  
                     if(result&&old!=null&&!"".equals(old)){
    
                                DecimalFormat df = new DecimalFormat("#,###");
                                old=df.format(Double.valueOf(old));
    
                            return old;
                     }else{
                         return old;
                     }
    
                }
    
    
    
    
    -------------数字相加,加%
       public static String getSum(String parm,String parm1){
              if(null!=parm&&parm1==null){
                  return parm;
              }else if(null!=parm&&null!=parm1){
                  BigDecimal  bef= new BigDecimal(parm.replace("%", ""));
                  BigDecimal  afe= new BigDecimal(parm1.replace("%", ""));
                  return bef.add(afe).toPlainString()+"%";
              }else if(null==parm&&parm1!=null){
                  return parm1;
              }else{
                  return "";
              }
          }
    
    
    -----------相除保留2位
     public static String getsumBili(BigDecimal bef,BigDecimal afe){
              if(null!=afe&&!afe.toString().substring(0).equals("0")){
                  String numStr=new java.text.DecimalFormat("0.00").format(bef.divide(afe));
                  return new BigDecimal(numStr).toPlainString();
              }else{
                  return "";
              }
          }
    
    
    
    
    
    ---------------保留六位并且忽略后面0,这里如果位数比较多,在页面显示会是科学计数法,因为BigDecimai,
    public  static  BigDecimal  reSixBig(BigDecimal ss){
            String numStr=new java.text.DecimalFormat("0.000000").format(ss);
            BigDecimal  newNum=new BigDecimal(numStr);
            return newNum.stripTrailingZeros();
        }
    
    
    
    
    -------------已验证------字符有可能为 0.00000123--
        public static  String  delezero(String old){
                 boolean result= old.matches("^[-+]?(([0-9]+)([.]([0-9]+))?|([.]([0-9]+))?)$");  
                 if(result&&old!=null&&!"".equals(old)){
                     String newStr=old;
                        if(old.contains(".0")&&"0".equals(old.substring(old.length()-1))){
                            old=newStr.substring(0, old.length()-2);    -----删除.0
                        }
                        return old;
                 }else{
                     return old;
                 }
    
            }
    ----toPlainString   不以科学计数法显示
    ----stripTrailingZeros   去除后面0,只能去除小数后有效数字之后的无效0
     System.out.println(new BigDecimal("0.0000").stripTrailingZeros());
    这里的0.0000便无法去除,这时便需要delezero()来处理
    
    ------------------舍弃科学计数法
    public  static  String  reSixBig(BigDecimal ss){
            String numStr=new java.text.DecimalFormat("0.000000").format(ss);
            System.out.println(numStr);
            BigDecimal  newNum=new BigDecimal(numStr);
    
            return newNum.stripTrailingZeros().toPlainString();
        }
    
    
    
    public BigDecimal add(BigDecimal value);//加法
    public BigDecimal subtract(BigDecimal value); //减法 
    public BigDecimal multiply(BigDecimal value); //乘法
    public BigDecimal divide(BigDecimal value); //除法
  • 相关阅读:
    CSS权重
    object.create(null) 和 {}创建对象的区别
    CSS边框作图
    细说HTML头部标签
    利用a标签导出csv文件
    细说CSS伪类和伪元素
    HTML标签的权重
    《SPA设计与架构》之客户端路由
    《SPA设计与架构》之JavaScript模块化
    《SPA设计与架构》之MV*框架
  • 原文地址:https://www.cnblogs.com/xh_Blog/p/6509735.html
Copyright © 2020-2023  润新知