博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BigDecimal 使用 静态方法总结
阅读量:6163 次
发布时间:2019-06-21

本文共 2888 字,大约阅读时间需要 9 分钟。

 

转自:

-------------千位加, 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); //除法

 

转载于:https://www.cnblogs.com/YLQBL/p/6509735.html

你可能感兴趣的文章
SpringMVC实战(注解)
查看>>
关于静态属性和静态函数
查看>>
进程的基本属性:进程ID、父进程ID、进程组ID、会话和控制终端
查看>>
spring+jotm+ibatis+mysql实现JTA分布式事务
查看>>
MyBatis启动:MapperStatement创建
查看>>
调查问卷相关
查看>>
eclipse启动无响应,老是加载不了revert resources,或停留在Loading workbench状态
查看>>
1. Git-2.12.0-64-bit .exe下载
查看>>
怎样关闭“粘滞键”?
查看>>
[转]React 教程
查看>>
拓扑排序介绍
查看>>
eclipse打开工作空间(workspace)没有任务反应
查看>>
使用Sybmol模块来构建神经网络
查看>>
字符串去分割符号
查看>>
WPF中,多key值绑定问题,一个key绑定一个界面上的对象
查看>>
UML类图简明教程
查看>>
java反编译工具(Java Decompiler)
查看>>
Android开发之自定义对话框
查看>>
微信Access Token 缓存方法
查看>>
Eclipsed的SVN插件不能识别之前工作空间的项目
查看>>