++ed by:
AWNCORP KEEDI SYP ALEXBYK MARKSTOS

16 PAUSE users
27 non-PAUSE users.

Olivier Duclos

NAME

Mango::BSON::Number - Numerical types

SYNOPSIS

  use Mango::BSON;
  use Mango::BSON::Number;

  my $number = Mango::BSON::Number->new(666, Mango::BSON::INT64);
  say $number;

DESCRIPTION

Mango::BSON::Number is a container for numerical values with a strict type.

METHODS

Mango::BSON::Number inherits all methods from Mojo::Base and implements the following new ones.

new

  my $number = Mango::BSON::Number->new(3.14, Mango::BSON::DOUBLE);

Construct a new Mango::BSON::Number object. Croak if the value is incompatible with the given type. The 3 supported types are DOUBLE, INT32 and INT64.

TO_JSON

  my $num = $obj->TO_JSON;

Return the numerical value.

to_string

  my $str = $num->to_string;

Return the value as a string.

isa_number

  my $flags = Mango::BSON::Number::isa_number(25);

Determine if the given variable is a number by looking at the internal flags of the perl scalar object.

Return undef if the value is not a number, or a non-null value otherwise. This value contains flags which can be used for finer analysis of the scalar.

guess_type

  my $mongo_type = Mango::BSON::Number::guess_type(25);

Chose which BSON type to use to encode the given numeric value. Possible types are: Mango::BSON::DOUBLE, Mango::BSON::INT32 or Mango::BSON::INT64.

Return undef if the given value is not a number.

OPERATORS

Mango::BSON::Time overloads the following operators.

bool

  my $bool = !!$num;

stringify

  my $str = "$num";

Alias for "to_string".

SEE ALSO

Mango, Mojolicious::Guides, http://mojolicio.us.