# BSON::Double - BSON type wrapper for Double - perldoc - [phpMan]

## NAME
    [BSON::Double](https://www.chedong.com/phpMan.php/perldoc/BSON%3A%3ADouble/markdown) - BSON type wrapper for Double

## VERSION
    version v1.12.2

## SYNOPSIS
        use [BSON::Types](https://www.chedong.com/phpMan.php/perldoc/BSON%3A%3ATypes/markdown) ':all';

        my $bytes = bson_double( $number );

## DESCRIPTION
    This module provides a BSON type wrapper for a numeric value that would be represented in BSON
    as a double.

## ATTRIBUTES
  value
    A numeric scalar (or the special strings "Inf", "-Inf" or "NaN"). This will be coerced to Perl's
    numeric type. The default is 0.0.

## METHODS
  TO_JSON
    Returns a double.

    If the "BSON_EXTJSON" environment variable is true and the "BSON_EXTJSON_RELAXED" environment
    variable is false, returns a hashref compatible with MongoDB's extended JSON
    <<https://github.com/mongodb/specifications/blob/master/source/extended-json.rst>> format, which
    represents it as a document as follows:

        {"$numberDouble" : "42.0"}

    If "BSON_EXTJSON" is false and the value is 'Inf', '-Inf' or 'NaN' (which are illegal in regular
    JSON), then an exception is thrown.

## INFINITY AND NAN
    Some Perls may not support converting "Inf" or "NaN" strings to their double equivalent. They
    are available as functions from the POSIX module, but as a lighter alternative to POSIX, the
    following functions are available:

    *   [BSON::Double::pInf](https://www.chedong.com/phpMan.php/perldoc/BSON%3A%3ADouble%3A%3ApInf/markdown)() – positive infinity

    *   [BSON::Double::nInf](https://www.chedong.com/phpMan.php/perldoc/BSON%3A%3ADouble%3A%3AnInf/markdown)() – negative infinity

    *   [BSON::Double::NaN](https://www.chedong.com/phpMan.php/perldoc/BSON%3A%3ADouble%3A%3ANaN/markdown)() – not-a-number

## OVERLOADING
    The numification operator, "0+" is overloaded to return the "value", the full "minimal set" of
    overloaded operations is provided (per overload documentation) and fallback overloading is
    enabled.

## AUTHORS
    *   David Golden <<david@mongodb.com>>

    *   Stefan G. <<minimalist@lavabit.com>>

## COPYRIGHT AND LICENSE
    This software is Copyright (c) 2020 by Stefan G. and MongoDB, Inc.

    This is free software, licensed under:

      The Apache License, Version 2.0, January 2004

