判断是否全为浮点型的数据

/**********************************************************

  * 函数名:        IsFloat                                         

  * 机能概要:        判断是否全为浮点型的数据                           

  *                                                        

  * 参数:    strin                                           

  * 返回值:    True    全为浮点型                                

  *            False    不全为浮点型                                

  *********************************************************/

 public static boolean IsFloat(String strin)
  {
    char c;
    int pointNum=0;
    int position;
    for( int i=0 ; i       c = strin.charAt (i);
       if (( c <= 0x0039 && c >= 0x0030 ) == false)        //是否为数字
               if(c==0x002e){                                //是否为小数点
                if(pointNum==0){                         //是否只有一个小数点
                    pointNum++;
                }else{
                    return false;                        //超过一个小数点时出错
                }
            }else{
                if(c!=0x002d && c!=0x002b || i!=0){            //是否为减号或加号且在最开头
                    return false;                            //都不是时出错
                }
            }
    }
    position=strin.indexOf(".");
    if (position==-1) return true;
    if (strin.indexOf("+") == 0 || strin.indexOf("-") == 0) {
        if(position==1 || position==strin.length()-1) return false;    //小数点位置在开头和末尾时出错
    } else {
        if(position==0 || position==strin.length()-1) return false;    //小数点位置在开头和末尾时出错
    }
    //if(position != 3) return false;    //小数点两位出错
    return true;
    

  }
   /**********************************************************

  * 函数名:        IsFloat                                         

  * 机能概要:        判断是否全为浮点型的数据                          

  *                                                        

  * 参数:    strin                                           

  * 参数:    int len  数值总长度:整数位+小数位               

  * 参数:    int len2 小数点位数

  * 返回值:    True    全为浮点型且小数位数不大于len2,整数位不长于整数位

  *            False    不全为浮点型                               

  *********************************************************/

 public static int VhcIsFloat(String strin,int len,int len2)
  {
    char c;
    int pointNum=0;
    int position;
    int leng = strin.length();
    //if (strin.length() > len+2) return 1;        //长度超长
    for( int i=0 ; i       c = strin.charAt (i);
       if (( c <= 0x0039 && c >= 0x0030 ) == false)        //是否为数字
               if(c==0x002e){                                //是否为小数点
                if(pointNum==0){                         //是否只有一个小数点
                    pointNum++;
                }else{
                    return 1;                        //超过一个小数点时出错
                }
            }else{
                if(c!=0x002d && c!=0x002b || i!=0){            //是否为减号或加号且在最开头
                    return 1;                            //都不是时出错
                }
            }
    }
    position=strin.indexOf(".");
   
    if (strin.indexOf("+") == 0 || strin.indexOf("-") == 0) {
        strin = strin.substring(1);
        position = position == -1? position:position -1;
        leng = leng - 1;
    }
    if (position==-1 && leng <= len-len2 ) return 0;
    if(leng- position - 1 > len2) {
        if (position>-1) return 2;    //小数点两位出错
        if (position==-1) return 3;    //整数超长
    }
    if(position==0 || position== leng-1) return 1;    //小数点位置在开头和末尾时出错
    if ((position) > len -len2 ) return 3;
   
    return 0;
  }

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12379366/viewspace-85559/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/12379366/viewspace-85559/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值