Perl - 打印出没有小数点的数字

时间:2015-03-11 15:50:13

标签: perl decimal

有没有让perl运行一个数字文件,只打印出没有小数点的数字?

所以我说我有60,78.9,109,我希望它打印出60,109。

这在Perl中是否可行?

2 个答案:

答案 0 :(得分:4)

3.03是相同的数字,因此如果您有数字的字符串表示,则只能检查小数点。如果这就是你所拥有的,你可以使用以下内容:

print "$_\n" for grep { !/\./ } @numbers;
   -or-
print "$_\n" for grep { /^[0-9]+\z/ } @numbers;

另一方面,如果你想用小数分量过滤掉数字(三个,但不应该有三个和十分之一),那么你可以检查int是否改变了数字(因为它删除了小数部分。)

print "$_\n" for grep { $_ == int($_) } @numbers;

答案 1 :(得分:0)

perl -ne 'print unless /\./;' < file

是用Perl描述我能想到的最简单的方法。