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); //除法