因为从文本框得到的都是String类型 那么如何判断从文本框中得到的值是否是数字呢?? 请高手帮忙回答一下啦!

解决方案 »

  1. 有许多方法判断数字,比如方法一:Integer.parseInt(string)如果报异常就不是数字,如果正常就是数字
    方法二:把得到的字符串通过正则表达式匹配
    方法n:……
      

  2. 且.去看看API,Charl类和String类的帮助文档! 给你封装好了的.而且可以直接使用
    Integer(String s)构造创建你的Integer类型。
              Constructs a newly allocated Integer object that represents the int value indicated by the String parameter.
    没事就多看看api对你有好处的.............
      

  3. [方法一:Integer.parseInt(string)如果报异常就不是数字,如果正常就是数字]
    这种方法不推荐使用,一般情况下使用正则表达式来匹配数字。正则表达式方法    
    function checkRate(input)    
    {    
         var re = /^[0-9]+.?[0-9]*$/;   //判断字符串是否为数字      
      //判断正整数 /^[1-9]+[0-9]*]*$/      
         if (!re.test(input.rate.value))    
        {    
            alert("请输入数字(例:0.02)");    
            input.rate.focus();    
            return false;    
         }    
    }    
      
    function BASEisNotNum(theNum)    
    {    
    //判断是否为数字    
      if (BASEtrim(theNum)=="")    
      return true;    
      for(var i=0;i<theNum.length;i++){    
         oneNum=theNum.substring(i,i+1);    
         if (oneNum<"0" || oneNum>"9")    
         return true;    
        }    
       return false;    
    }    
      
    function BASEisNotInt(theInt)    
    {    
    //判断是否为整数    
        theInt=BASEtrim(theInt);    
    if ((theInt.length>1 && theInt.substring(0,1)=="0") || BASEisNotNum(theInt)){    
      return true;    
      }    
      return false;    
     }    
      
    function BASEisNotFloat(theFloat)    
    {    
    //判断是否为浮点数    
      len=theFloat.length;    
      dotNum=0;    
      if (len==0)    
      return true;    
      for(var i=0;i<len;i++){    
        oneNum=theFloat.substring(i,i+1);    
        if (oneNum==".")    
          dotNum++;    
        if ( ((oneNum<"0" || oneNum>"9") && oneNum!=".") || dotNum>1)    
          return true;    
        }    
        if (len>1 && theFloat.substring(0,1)=="0"){    
        if (theFloat.substring(1,2)!=".")    
          return true;    
        }    
         return false;    
      
    isNaN 函数    
    isNaN(expression:Object) : Boolean    
      
    计算参数,如果值为 NaN(非数字),则返回 true。此函数可用于检查一个数学表达式是否成功地计算为一个数字。    
      
    可用性:Flash Player 5;ActionScript 1.0    
      
    参数    
    expression:Object - 要计算的布尔值、变量或其它表达式。    
      
    返回    
    Boolean - 一个布尔值。    
      
    例子:    
           
    if(isNaN(document.login.imgcode.value)){    
       alert('验证码必须是数字!')    
       document.login.imgcode.focus();    
       return false;    
    }   
      

  4. 利用正则表达式做校验。
    限制文本框中只可以输入数字: <input type="text" onkeyup="this.value=this.value.replace(/\D/g,'')" onafterpaste="this.value=this.value.replace(/\D/g,'')">
      

  5. 用这个方法吧,对应各种数值 
       public boolean isNumber(Object srcObj) {
            NumberFormat format = NumberFormat.getInstance();
            String str = srcObj.toString();
            StringBuilder sb = new StringBuilder(str);
            ParsePosition pos1 = new ParsePosition(0);
            ParsePosition pos2 = new ParsePosition(0);
            format.parse(sb.toString(), pos1);
            format.parse(sb.reverse().toString(), pos2);
            return pos1.getErrorIndex() < 0 && pos2.getErrorIndex() < 0;
               
        }
      

类似问题 »