---
name: "Scalar::Util::Numeric"
section: "3pm"
platform: "linux"
package: "libscalar-util-numeric-perl"
version: "0.40-2+b4"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Scalar::Util::Numeric"
---

# Scalar::Util::Numeric(3pm)

numeric tests for perl scalars

## 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.

## TAGS

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\.40

## AUTHORS

- •

  chocolateboy \<chocolate@cpan.org\>

- •

  Michael G. Schwern \<schwern@pobox.com\>

## COPYRIGHT

Copyright (c) 2005-2014, chocolateboy.

This module is free software. It may be used, redistributed and/or modified under the same terms as Perl itself.
