NAME
BSON::Double - BSON type wrapper for Double
VERSION
version v1.12.2
SYNOPSIS
use BSON::Types ':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 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() – positive infinity
BSON::Double::nInf() – negative infinity
BSON::Double::NaN() – 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