永发信息网

怎么判断一个参数是不是数字?

答案:1  悬赏:60  手机版
解决时间 2021-11-11 04:35
  • 提问者网友:雨不眠的下
  • 2021-11-10 10:34
怎么判断一个参数是不是数字?
最佳答案
  • 五星知识达人网友:人间朝暮
  • 2021-11-10 11:45
判断一个参数是不是数字的方法:
isNaN() 不是一个数字 is not a number
if(isNaN(a)){
alert("a不是数字");
}else{
alert("a是数字");
原理:
一、利用expr做计算时变量或字符串必须是整数的规则,把一个变量或字符串和一个已知的整数(非0)相加,看命令返回的值是否为0.如果为0,就认为加法的变量或字符串为整数,否则就不是。
i=5
expr $I + 6 &>/dev/null
echo $?
如果输出的是0,那么表明i是整数,反之则表示为非整数。其中$?表示的是最后运行的代码的返回值
上述判断中,有&>表示的就是不管是什么,都重定向到/dev/null中。
二、使用sed加正则表达式
思路:删除一个字符串中的所有数字,看字符串的长度是否为0,如果不为0,则不是整数。
if [ -n "`echo char | sed 's/[0-9]//g'`" ]  
then
echo "char"
else
echo "number"
fi
三、用变量的子串替换
思路:如果num的长度不为0,并且把num中的非数字部分删除,然后看结果是不是等于num本身,如果两者成立,那么就是数字,反之亦然。
if [ -n "$num" -a "$num" = "${num//[^0-9]/}" ]
then
echo "char"
else
echo "number"
fi
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯