# Types::Common::Numeric - drop-in replacement for MooseX::Types::Common:... - perldoc - [phpMan]

## NAME
    [Types::Common::Numeric](https://www.chedong.com/phpMan.php/perldoc/Types%3A%3ACommon%3A%3ANumeric/markdown) - drop-in replacement for [MooseX::Types::Common::Numeric](https://www.chedong.com/phpMan.php/perldoc/MooseX%3A%3ATypes%3A%3ACommon%3A%3ANumeric/markdown)

## STATUS
    This module is covered by the Type-Tiny stability policy.

## DESCRIPTION
    A drop-in replacement for [MooseX::Types::Common::Numeric](https://www.chedong.com/phpMan.php/perldoc/MooseX%3A%3ATypes%3A%3ACommon%3A%3ANumeric/markdown).

### Types
    The following types are similar to those described in [MooseX::Types::Common::Numeric](https://www.chedong.com/phpMan.php/perldoc/MooseX%3A%3ATypes%3A%3ACommon%3A%3ANumeric/markdown).

    *   PositiveNum

    *   PositiveOrZeroNum

    *   PositiveInt

    *   PositiveOrZeroInt

    *   NegativeNum

    *   NegativeOrZeroNum

    *   NegativeInt

    *   NegativeOrZeroInt

    *   SingleDigit

        "SingleDigit" interestingly accepts the numbers -9 to -1; not just 0 to 9.

    This module also defines an extra pair of type constraints not found in
    [MooseX::Types::Common::Numeric](https://www.chedong.com/phpMan.php/perldoc/MooseX%3A%3ATypes%3A%3ACommon%3A%3ANumeric/markdown).

    *   IntRange[`min, `max]

        Type constraint for an integer between min and max. For example:

          IntRange[1, 10]

        The maximum can be omitted.

          IntRange[10]   # at least 10

        The minimum and maximum are inclusive.

    *   NumRange[`min, `max]

        Type constraint for a number between min and max. For example:

          NumRange[0.1, 10.0]

        As with IntRange, the maximum can be omitted, and the minimum and maximum are inclusive.

        Exclusive ranges can be useful for non-integer values, so additional parameters can be given
        to make the minimum and maximum exclusive.

          NumRange[0.1, 10.0, 0, 0]  # both inclusive
          NumRange[0.1, 10.0, 0, 1]  # exclusive maximum, so 10.0 is invalid
          NumRange[0.1, 10.0, 1, 0]  # exclusive minimum, so 0.1 is invalid
          NumRange[0.1, 10.0, 1, 1]  # both exclusive

        Making one of the limits exclusive means that a "<" or ">" operator will be used instead of
        the usual "<=" or ">=" operators.

## BUGS
    Please report any bugs to <<https://github.com/tobyink/p5-type-tiny/issues>>.

## SEE ALSO
    [Types::Standard](https://www.chedong.com/phpMan.php/perldoc/Types%3A%3AStandard/markdown), [Types::Common::String](https://www.chedong.com/phpMan.php/perldoc/Types%3A%3ACommon%3A%3AString/markdown).

    [MooseX::Types::Common](https://www.chedong.com/phpMan.php/perldoc/MooseX%3A%3ATypes%3A%3ACommon/markdown), [MooseX::Types::Common::Numeric](https://www.chedong.com/phpMan.php/perldoc/MooseX%3A%3ATypes%3A%3ACommon%3A%3ANumeric/markdown), [MooseX::Types::Common::String](https://www.chedong.com/phpMan.php/perldoc/MooseX%3A%3ATypes%3A%3ACommon%3A%3AString/markdown).

## AUTHOR
    Toby Inkster <<tobyink@cpan.org>>.

## COPYRIGHT AND LICENCE
    This software is copyright (c) 2013-2014, 2017-2023 by Toby Inkster.

    This is free software; you can redistribute it and/or modify it under the same terms as the Perl
    5 programming language system itself.

## DISCLAIMER OF WARRANTIES
    THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
    WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
    PURPOSE.

