数字(整数和小数)和字符前多余零去除,注意如果小数点前都为零,保留小数点前一个零。
谢谢

解决方案 »

  1.   

    public class Test {
        public static void main(String[] args) {
            String[] strs = {
                    "00019.12", "00190",   "0019",   "019", 
                    "190",      "000.019", "0.0190", "0010.190"
                };
            String regex = "^(?:0(?!\\.))+";
            for(String str : strs) {
                System.out.printf("%-10s %-10s%n", str, str.replaceAll(regex, ""));
            }
        }
    }
      

  2.   

    LZ是不是要控制输入 002.2这种情况?
    我到有个用js完成的办法:
    <input name="asd" id="asd" >
    <input name="ss" value="变" type="button" onClick="dsa()">
    <script type="text/javascript">
    function dsa(){
    var asd=document.getElementById("asd").value;
    var nc=asd.search(/[1-9]/);//找出第一次出现非0数字的位置
    var dc=asd.search(/\./);   //找出小数点出现的位置
    alert(nc);alert(dc);
    if(nc<dc){//如果第一个非0数字的位置<小数点位置  说明数字在小数点前。
    asd=asd.substring(nc);//将前面多余的0去掉
    }
    alert(asd);
    }
    </script>002.2最后就变成2.2