字符串数字验证(算法)

原创 2015年07月08日 20:48:51

验证一个输入字符串是否为一个合法的数(正负数,小数,指数)


public boolean isNumber(String s)
{
	boolean res = false;
	if(s == null)
		return res;
	s = s.trim();
	if(s.equals("")) 
		return res;
	boolean hasSign = false,hasDot = false;
	Boolean hasExp = false,hasDigit = false;
	s = s.toLowerCase();	
	int len = s.length();
	for(int i = 0; i < s.length(); i++)
	{
		char c = s.charAt(i);
		if(!isValid(c)) return fasle;
		switch(c)
		{
		case '+':
		case '-':
			if((i != 0 && s.charAt(i - 1) != 'e') || i == len)
			{
				return false;
			}
			else
			{
				hasSign = true;
			}
			break;
		case '.':
			if(len == 1 || (len == 2 && hasSign) || hasExp || hasDot)
			{	
				return false;
			}
			else
			{
				hasDot = true;
			}
			break;
		case 'e':
			if( i == 0 || i == len - 1|| !hasDigit || hasExp)
			{
				return false;
			}
			else
			{
				return true;
			}
			break;
		default:
			hasDigit = true;
			break;
		}
	}
	return true;
}
public boolean isValid(char c)
{
if(c == '+' || c == '-' || c == '.' || c == 'e'|| (c > '0' && c < '9'))
	return true;
else	return false;
}







【php】正则验证字符串是否为数字

方法一: php中利用正则表达式验证字符串是否为数字一件非常容易的事情,最主要的是如何写好正则表达式以及掌握正则表达式的写法,在此利用正则表达式的方式来列举一下判断数字的方法。 ...
  • lst8696
  • lst8696
  • 2013年12月19日 21:54
  • 1258

【字符串处理算法】字符串转换为整数的算法设计及C代码实现

一、需求描述输入一个由数字构成的字符串,编写程序将该字符串转换为整数并输出。例如,如果输入的字符串是“12345”,那么输出的整数是12345。注意,不要使用C语言的库函数atoi。 二、算法设计我们...
  • zhouzxi
  • zhouzxi
  • 2016年02月19日 14:39
  • 2680

字符串哈希到整数函数,算法

基本概念 所谓完美哈希函数,就是指没有冲突的哈希函数,即对任意的 key1 != key2 有h(key1) != h(key2)。 设定义域为X,值域为Y, n=|X|,m=|Y|,那么肯定有m...
  • hzhsan
  • hzhsan
  • 2014年05月11日 16:43
  • 8864

算法--判断字符串是不是数字

#include #include #include using namespace std; bool isnum(string s) { stringstream sin(s...
  • lht501692913
  • lht501692913
  • 2016年07月16日 17:41
  • 320

java中判断一个字符串是否“都为数字”和“是否包含数字”和“截取数字”

      java中判断一个字符串是否“都为数字”和“是否包含数字”和“截取数字” 2016-09-20 12:30 1945人阅读 评论(0) 收藏 举报 ...
  • java_2017_csdn
  • java_2017_csdn
  • 2017年08月01日 18:21
  • 332

java中判断字符串是否为数字的方法的几种方法

1.用JAVA自带的函数public static boolean isNumeric(String str){ for (int i = 0; i < str.length(); i++){ ...
  • lovoo
  • lovoo
  • 2016年09月30日 09:23
  • 3293

C#判断字符串是否只有数字和字母组成(Regex.IsMatch)

目的:判断字符串是否只有数字和字母组成,防止出现“乱码”,以及判断字符串长度; 主要功能函数:System.Text.RegularExpressions.Regex.IsMatch(strMess...
  • u013489804
  • u013489804
  • 2015年06月12日 15:52
  • 6028

java中判断字符串是否为数字的方法的几种方法

前言网上有很多这种资料,之所以我又写一篇,是今天在实践网上给的方法时,发现很多bug。 所以我就自己总结下。同时也请那些在复制粘贴别人的东西时,最好实践下。 不实践的话,自己得到的可能是错误的方法...
  • u013066244
  • u013066244
  • 2016年11月17日 11:26
  • 15121

初步实现带有数字的字符串的排序(数字区别大小)

对于fss2,fss10,fss1,fss11,fss02排序,如果想对数字识别大小排序,传统排序是字典排序,不能达到目标,如下表: 散列 字典排序 目标排序 fss2...
  • Neo_86
  • Neo_86
  • 2014年03月24日 00:21
  • 4478

oracle 身份证 校验位 判断字符串是否为数字函数

create or replace function getCheckCode(Identity_code VARCHAR2) RETURN VARCHAR2 /*****author :Mr_wu...
  • kadwf123
  • kadwf123
  • 2014年08月27日 15:32
  • 1844
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:字符串数字验证(算法)
举报原因:
原因补充:

(最多只允许输入30个字)