去掉小数后多余的 0

在数据处理时 遇到这样的值: 1.0000000000000   或者  1.230000000000    或者   0.0000450000000   而且还有一大堆这样的数据,那么就可以使用下方的方法了. 直接复制粘贴即可使用.

 

//后端代码  

public static String FormatNumber(String s){
      //格式化数字
        NumberFormat nf = NumberFormat.getInstance();
        if(s.indexOf(".") > 0){  
            s = s.replaceAll("0+?$", "");//去掉多余的0  
            s = s.replaceAll("[.]$", "");//如最后一位是.则去掉  
        }  
        s = new BigDecimal(s).toPlainString();//避免科学计数
        s = nf.format(Double.parseDouble(s));//去掉  值为 0 的所有小数
        return s;
 }


    

//前端去小数点末尾多余 0
//去掉小数后多余的 0 
function cutZero(old){
    
    newstr=old;
    var leng = old.length-old.indexOf(".")-1
    if(old.indexOf(".")>-1){
       for(i=leng;i>0;i--){
            //如果newstr末尾有0
            if(newstr.lastIndexOf("0")>-1 && newstr.substr(newstr.length-1,1)==0){
                var k = newstr.lastIndexOf("0");
                //如果小数点后只有一个0 去掉小数点
                if(newstr.charAt(k-1)=="."){
                    return  newstr.substring(0,k-1);
                }else{
                //否则 去掉一个0
                    newstr=newstr.substring(0,k);
                }
            }else{
            //如果末尾没有0
                return newstr;
            }
        }
    }
    return old;
 }

 

你可能感兴趣的:(java,js,去除多余0)