62,243
社区成员




public static bool IsNumber(this string input)
{
if (string.IsNullOrEmpty(input))
return false;
//i : 计数器(记录共有多少个.)
//j : 起始校验位置
//m : 字符串长度
int i = 0, j = 0, m = input.Length;
if (input[m - 1] == '.') //任何以.结尾的字符串都不是数字
return false;
if (input[0] == '+' || input[0] == '-')
{
j = 1; //如果第一位为+或者-,那么将从第2为开始检测
if (m == 1) return false; //如果此时字符串的长度为1,那么不是数字
}
if (input[j] == '0')
{
if (m > j)
if (input[j + 1] != '.') return false; //如果开始检测位是0,不是末位,那么下一位如果不是. 则不是数字
}
for (; j < m; j++)
{
if (input[j] == '.')
i++;
else
{
if (input[j] < 48 || input[j] > 57)
return false;
}
}
if (i > 1) return false; //如果多于1个. 则不是数字
return true;
}
我用using Microsoft.VisualBacsic;
要单独添加引用才能调用下面的方法
Information.IsNumberic(str);