首页 / 知识
关于数字:如何判断变量在Perl中是否具有数值?
2023-04-12 07:21:00

How do I tell if a variable has a numeric value in Perl?Perl中是否有一种简单的方法可以让我确定给定的变量是否为数字?沿着这条线的东西:
会是理想的。当使用 使用
给出此输出:
参见:
查看CPAN模块regexp::common。我认为它可以完全满足您的需要,并处理所有边缘情况(例如实数、科学符号等)。例如
最初的问题是如何判断一个变量是否是数值,而不是它是否"有一个数值"。 有几个运算符对数值和字符串操作数具有不同的操作模式,其中"numeric"表示最初是数字或曾经在数值上下文中使用过的任何内容(例如,在 一种方法是:
这个问题的一个简单(也可能是简单)答案是
它对原始 通常使用正则表达式进行数字验证。此代码将确定某个值是否为数字,并检查是否存在未定义的变量,以免引发警告:
这是一些你应该看的阅读材料。 我不相信有什么事可以做。关于这个主题,您想了解的比以前更多,请参阅Perlmonks关于检测数字 不完美,但您可以使用regex:
雷克塞普不完美…这是:
在regexp::common中可以找到稍微更健壮的regex。 听起来您想知道Perl是否认为变量是数字。下面是一个函数,它可以捕获警告:
另一种选择是在本地关闭警告:
请注意,非数字变量将静默地转换为0,这可能是您想要的。 不过我觉得这个很有趣
试试这个:
您可以使用正则表达式来确定$foo是否是数字。 请看这里:如何确定标量是否为数字 我个人认为,要做到这一点,必须依靠Perl的内部上下文来使解决方案具有防弹性。一个好的regexp可以匹配所有有效的数值,而不匹配任何非数值的数值(反之亦然),但是由于有一种使用相同逻辑的方法,解释器正在使用它,因此直接依赖它应该更安全。 由于我倾向于使用
这个功能对我有用:
如果(定义为$X&;$X!~m/d/){}或X=0如果!X;如果(X)!~m/d/){} 这是Veekay答案的微小变化,但让我解释一下我对变化的理由。 对未定义的值执行regex将导致错误spew,并导致代码在许多(如果不是大多数)环境中退出。在运行表达式之前,测试是否定义了该值,或者像我在另一个示例中所做的那样设置了一个默认的大小写,这将至少保存您的错误日志。 |
最新内容
相关内容
python有map方法吗
python有map方法吗,培训,位置,数据,函数,列表,序列,参数,元素,方法,使用方法,python中的map:map()会根据提供的函数对指定序列做映射。第一个python如何判断输入是不是数字
python如何判断输入是不是数字,数字,异常,培训,字符,表示,字符串,不是,正则,方法,字母,python判断输入是不是数字的方法:在接收raw_input方法python如何判断素数
python如何判断素数,数字,培训,情况,代码,质数,素数,自然数,不是,循环体,用户,python判断素数的方法质数(Primenumber),又称素数,指在大于1的自python声明变量类型
python声明变量类型,培训,代码,基础,变量,赋值,类型,字符串,语句,函数,上面,对于没有编程基础的读者,可以先不编写真正的Python程序,而是先打开python变量不需要声明吗
python变量不需要声明吗,培训,数字,变量,代码,合法,声明,类型,整数,字符串,布尔,Python中常见的数据类型有字符串,整形,列表,元组,字典等。在Pythpython有哪些方法可以解压文件?
python有哪些方法可以解压文件?,工具,系统,工作,培训,文件,文件夹,方法,窗体,不同于,以下内容,在Python学习和日常使用中,很容易造成文件过大。python变量赋值是什么
python变量赋值是什么,培训,变量,名称,数字,标准,类型,赋值,声名,字符串,数据类型,1、什么是变量?变量:值会发生变化的的量,与常量相对.2、pythpython怎么声明变量
python怎么声明变量,培训,通用,一致,数字,变量,声明,字符串,引号,方式,类型,python声明变量:1、变量声明声明变量的时候,直接使用例如a=1这样的python类自带方法吗
python类自带方法吗,培训,方法,里面,实例,也就是说,下面,对象,以上,之后,参数,python中的类,创建好之后,里面是没有方法的,也就是说,类并没有自带python子类可以调用父类方法吗
python子类可以调用父类方法吗,培训,名称,资料,情况,地方,函数,参数,方法,表示,语句,python中的子类中的__init__()函数会覆盖父类的函数,一些python静态方法怎么使用self
python静态方法怎么使用self,培训,管理,不了,方法,静态,属性,实例,变量,对象,参数,python-静态方法,类方法,属性方法静态方法实际上与类(或者实python怎么理解Python的构造方法
python怎么理解Python的构造方法,代码,名字,培训,方法,参数,对象,以上,结尾,函数,开头,在创建类时,我们可以手动添加一个__init__()方法,该方法