/**********************************************************
* 函数名: 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;
}
* 函数名: 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/