博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BigDecimal去除多余的0和财务千分位显示工具类UnitChange
阅读量:6090 次
发布时间:2019-06-20

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

hot3.png

java代码如下:

public class UnitChange {	public static String change(String unit){//		if(unit.equals("m2")){//			return "m²";//		}else if(unit.equals("m3")){//			return "m³";//		}else 		if(unit == null){			return null;		}else if(unit.contains("m2")){			return unit.replace("m2", "m²");		}else if(unit.contains("m3")){			return unit.replace("m3", "m³");		}else if(unit.contains("㎡")){//这种字符串在ireport工具下的DejaVu Serif显示不出来			return unit.replace("㎡", "m²");		}else{			return unit;		}	}		/**	 * 将Bigdecial以财务形式显示,千分位表示	 * @param number	 * @return	 */	public static String numberFormatterToFinance(BigDecimal number){		NumberFormat nf = new DecimalFormat("#,###");		String financeStr = nf.format(number).equals("0")?"":nf.format(number);		return financeStr;	} 		/**	 * 将Long以财务形式显示,千分位表示	 * @param number	 * @return	 */	public static String numberFormatterToFinance(Long number){		NumberFormat nf = new DecimalFormat("#,###");		String financeStr = nf.format(number);		return financeStr;	} 		/**	 * 去掉BigDecimal尾部多余的0	 * @param num	 * @return 返回BigDeciaml	 */	public static BigDecimal clearNoUseZeroForBigDecimal(BigDecimal num){		BigDecimal returnNum = null;		String numStr = num.stripTrailingZeros().toPlainString();		if(numStr.indexOf(".") == -1){			//如果num 不含有小数点,使用stripTrailingZeros()处理时,变成了科学计数法			returnNum = new BigDecimal(numStr);		}else{			if(num.compareTo(BigDecimal.ZERO)==0){				returnNum = BigDecimal.ZERO;			}else{				returnNum = num.stripTrailingZeros();			}		}		return returnNum;	}		/**	 * 获取BigDecimal去掉后面无用的0后的字符串	 * @param num 	 * @param isZero 是否需要显示字符串0;true ,显示0;false或者null,没显示为空字符串	 * @return	 */	public static String clearNoUseZeroForString(BigDecimal num,Boolean isZero){		String returnStr = "";		if(num != null){			if(num.compareTo(BigDecimal.ZERO)==0){				if(isZero != null && isZero){					returnStr = "0";				}			}else{				returnStr = num.stripTrailingZeros().toPlainString();			}		}		return returnStr;	}     	/**      * 使用java正则表达式去掉多余的.与0     * @param s      * @return       */      public static String subZeroAndDot(String s){          if(s.indexOf(".") > 0){              s = s.replaceAll("0+?$", "");//去掉多余的0              s = s.replaceAll("[.]$", "");//如最后一位是.则去掉          }          return s;      } }

 

转载于:https://my.oschina.net/u/2331760/blog/1549985

你可能感兴趣的文章
Redis学习记录初篇
查看>>
爬虫案例若干-爬取CSDN博文,糗事百科段子以及淘宝的图片
查看>>
Web实时通信技术
查看>>
第三章 计算机及服务器硬件组成结合企业运维场景 总结
查看>>
IntelliJ IDEA解决Tomcal启动报错
查看>>
默认虚拟主机设置
查看>>
php中的短标签 太坑人了
查看>>
[译] 可维护的 ETL:使管道更容易支持和扩展的技巧
查看>>
### 继承 ###
查看>>
数组扩展方法之求和
查看>>
astah-professional-7_2_0安装
查看>>
函数是对象-有属性有方法
查看>>
uva 10107 - What is the Median?
查看>>
Linux下基本栈溢出攻击【转】
查看>>
c# 连等算式都在做什么
查看>>
使用c:forEach 控制5个换行
查看>>
java web轻量级开发面试教程摘录,java web面试技巧汇总,如何准备Spring MVC方面的面试...
查看>>
使用ansible工具部署ceph
查看>>
linux系列博文---->深入理解linux启动运行原理(一)
查看>>
Android反编译(一) 之反编译JAVA源码
查看>>