ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 判断是否全为浮点型的数据

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

原创 Linux操作系统 作者:aikangyan 时间:2008-01-03 13:53:21 0 删除 编辑
/**********************************************************

  * 函数名:        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/,如需转载,请注明出处,否则将追究法律责任。

下一篇: 字符串的截取
请登录后发表评论 登录
全部评论

注册时间:2007-12-12

  • 博文量
    81
  • 访问量
    43378