如何判断变量在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] (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |