加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

如何判断变量在Perl中是否有数值?

发布时间:2020-12-15 21:29:06 所属栏目:大数据 来源:网络整理
导读:有一个简单的方法在Perl,将允许我确定一个给定的变量是数字的吗?类似的东西: if (is_number($x)){ ... } 将是理想的。当使用-w开关时,不会出现警告的技术当然是首
有一个简单的方法在Perl,将允许我确定一个给定的变量是数字的吗?类似的东西:
if (is_number($x))
{ ... }

将是理想的。当使用-w开关时,不会出现警告的技术当然是首选。

解决方法

使用Scalar :: Util :: looks_like_number(),它使用内部Perl C API的looks_like_number()函数,这可能是最有效的方法。
注意,字符串“inf”和“无穷大”被视为数字。

例:

#!/usr/bin/perl

use warnings;
use strict;

use Scalar::Util qw(looks_like_number);

my @exprs = qw(1 5.25 0.001 1.3e8 foo bar 1dd inf infinity);

foreach my $expr (@exprs) {
    print "$expr is",looks_like_number($expr) ? '' : ' not'," a numbern";
}

给出此输出:

1 is a number
5.25 is a number
0.001 is a number
1.3e8 is a number
foo is not a number
bar is not a number
1dd is not a number
inf is a number
infinity is a number

也可以看看:

[perldoc Scalar::Util][1]
[perldoc perlapi][2]

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读