数字字符串去除小数点后末尾多余的0

方法一:


/**  
* 数字字符串去除小数点后末尾多余的0  
* 如果字符串为空返回0,非数字则返回原字符串  
* @param str  
* @return  */ 
public  static String numberRemoveZero(String str){
    String str2 = ""; if(str==null||"".equals(str)){
        str="0";
    }else{ try{
            BigDecimal b = new BigDecimal(str);
      //java1.7BigDecimal的stripTrailingZeros处理0.00没生效  
       if(b.compareTo(BigDecimal.ZERO)==0){
                str2 = "0";
            }else{
                str2 = b.stripTrailingZeros().toPlainString();
            }
        }catch(Exception e){
            Log.e("数字转化异常",str+e.toString());
            str2 =str;
        }
    } return str2;
}

方法二:


/**  
*  数字字符串去除小数点后末尾多余的0  
*  如果字符串为空返回0,非数字则返回原字符串  
* @param str  * @return  
*/ 
public  static String numberRemoveZero2(String str){
    String str2 = ""; if(str==null||"".equals(str)){
        str="0";
    }else{ try{
            Float b = Float.parseFloat(str);
            str2 = DecimalInputText(b+"");
        }catch(Exception e){
            str2 =str;
        }
    } return str2;
}
/**  
* 去掉小数点多余的字符 
* @param text  
* @return  
*/ 
public static String DecimalInputText(String text) { if (text == null || text.equals("")) {
        text = "0";
    } else if (text.endsWith(".")) {
        text = text.substring(0, text.length() - 1);
    }else if (text.endsWith(".0")) {
        text = text.substring(0, text.length() - 2);
    } return text;
}