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); //除法
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)