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; } }