BSON::Double - BSON type wrapper for Double
version v1.12.2
use BSON::Types ':all';
my $bytes = bson_double( $number );
This module provides a BSON type wrapper for a numeric value that would be
represented in BSON as a double.
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.
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.
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
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.
- •
- David Golden <[email protected]>
- •
- Stefan G. <[email protected]>
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