整数由数字(如果是负数,则还包括一个字符“-”)组成,包括正整数、0和负整数。要检查一个字符串是否为整数,首先要检查该字符串是否由数字组成。如果字符串不是由数字组成,则该字符串不为整数。
在下面的代码中,函数CheckCharISNumber1_9(char value)检查一个字符是否为数字1~9。如果是,则返回true,否则返回false。
/// <summary>
/// 检查字符是否为数字1~9
/// </summary>
/// <param name="value"></param>
/// <returns></returns>
public static bool CheckCharISNumber1_9(char value)
{ ///检查字符是否为数字1~9
return value >= '1' && value <= '9';
}
在下面的代码中,函数CheckStringISNumber(string value)检查一个字符串是否全部由数字0~9组成。如果是,则返回true,否则返回false。
/// <summary>
/// 检查字符串是否由数字组成
/// </summary>
/// <param name="value"></param>
/// <returns></returns>
public static bool CheckStringISNumber(string value)
{ ///如果字符串为空,则返回false
if(string.IsNullOrEmpty(value) == true) return false;
foreach(char ch in value)
{ ///检查每一个字符串是否为数字
if(ch < '0' || ch > '9'){return false;}
}
return true;
}
在下面的代码中,函数CheckInt(string value)检查一个字符串是否为整数。如果是,则返回true,否则返回false。该函数的实现步骤如下:
(1)判断给定字符串value是否为空。如果是,则返回false,并中止函数。
(2)判断给定字符串value的第一个字符是否为负号“-”。如果是,则从value中移除该字符“-”。
(3)检查字符串value的长度是否为1。如果是,则调用函数CheckStringISNumber(string value)检查该字符串 是否由数字组成。如果是,则返回true,并结束检查过程。
(4)如果字符串value的长度大于1,则调用函数CheckCharISNumber1_9(char value)检查第一个字符串是否 为1~9、函数CheckStringISNumber(string value)检查该字符串是否由数字组成。如果上述两个函数均返回true,则被检查的字符串为整数,否则不为整数。
/// <summary>
/// 检查字符串是否为一个整数
/// </summary>
/// <param name="value"></param>
/// <returns></returns>
private bool CheckInt(string value)
{ ///如果字符串为空,则返回false
if(string.IsNullOrEmpty(value) == true) return false;
///如果是负整数,则去掉前面的符号,再进行处理
if(value[0] == '-'){value = value.Remove(0,1);}
///检查一位整数
if(value.Length == 1
&& DataTypeCommonOperation.CheckStringISNumber(value))
{
return true;
}
///检查第一个字符和整个字符串。其中,第一个字符
return (DataTypeCommonOperation.CheckCharISNumber1_9(value[0])
&& DataTypeCommonOperation.CheckStringISNumber(value));
}