NAME¶
Scalar::Util::Numeric - numeric tests for Perl scalars
SYNOPSIS¶
use Scalar::Util::Numeric qw(isnum isint isfloat);
foo($bar / 2) if (isnum $bar);
if (isint $baz) {
# ...
} elsif (isfloat $baz) {
# ...
}
DESCRIPTION¶
This module exports a number of wrappers around perl's builtin
"grok_number" function, which returns the numeric type of its
argument, or 0 if it isn't numeric.
All of the functions exported by Scalar::Util::Numeric can be imported by using
the ":all" tag:
use Scalar::Util::Numeric qw(:all);
EXPORTS¶
isnum¶
isnum ($val)
Returns a nonzero value (indicating the numeric type) if $val is a number.
The numeric type is a conjunction of the following flags:
0x01 IS_NUMBER_IN_UV (number within UV range - not necessarily an integer)
0x02 IS_NUMBER_GREATER_THAN_UV_MAX (number is greater than UV_MAX)
0x04 IS_NUMBER_NOT_INT (saw . or E notation)
0x08 IS_NUMBER_NEG (leading minus sign)
0x10 IS_NUMBER_INFINITY (Infinity)
0x20 IS_NUMBER_NAN (NaN - not a number)
isint¶
isuv¶
isbig¶
isfloat¶
isneg¶
isinf¶
isnan¶
The following flavours of "isnum" (corresponding to the flags above)
are also available:
isint
isuv
isbig
isfloat
isneg
isinf
isnan
"isint" returns -1 if its operand is a negative integer, 1 if it's 0
or a positive integer, and 0 otherwise.
The others always return 1 or 0.
SEE ALSO¶
- •
- "type" in autobox
- •
- Data::Types
- •
- Params::Classify
- •
- Params::Util
- •
- Scalar::Util
- •
- String::Numeric
VERSION¶
0.22
AUTHORS¶
- •
- chocolateboy <chocolate@cpan.org>
- •
- Michael G Schwern <schwern@pobox.com>
COPYRIGHT¶
Copyright (c) 2005-2010, chocolateboy.
This module is free software. It may be used, redistributed and/or modified
under the same terms as Perl itself.