Types::Common::Numeric(3) User Contributed Perl Documentation Types::Common::Numeric(3)

# [NAME](#NAME)

Types::Common::Numeric - drop-in replacement for MooseX::Types::Common::Numeric

# [STATUS](#STATUS)

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

# [DESCRIPTION](#DESCRIPTION)

A drop-in replacement for MooseX::Types::Common::Numeric.

## [Types](#Types)

The following types are similar to those described in MooseX::Types::Common::Numeric.

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

- **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 "&lt;" or "&gt;" operator will be used instead of the usual "&lt;=" or "&gt;=" operators.

# [BUGS](#BUGS)

Please report any bugs to &lt;https://github.com/tobyink/p5-type-tiny/issues&gt;.

# [SEE ALSO](#SEE_ALSO)

Types::Standard, Types::Common::String.

MooseX::Types::Common, MooseX::Types::Common::Numeric, MooseX::Types::Common::String.

# [AUTHOR](#AUTHOR)

Toby Inkster &lt;tobyink@cpan.org&gt;.

# [COPYRIGHT AND LICENCE](#COPYRIGHT_AND_LICENCE)

This software is copyright (c) 2013-2014, 2017-2025 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](#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.

2026-06-28 perl v5.42.2

---

Document: Types::Common::Numeric(3pm) from perl-type-tiny 2.010001-r3 (Chainguard OS)
Source: https://github.com/tobyink/p5-type-tiny
