BSON::Double - BSON type wrapper for Double
| Use Case | Command | Description |
|---|---|---|
| Wrap a number as BSON double | bson_double($number) | Creates a BSON double wrapper for the numeric value |
| Positive infinity | BSON::Double::pInf() | Returns positive infinity |
| Negative infinity | BSON::Double::nInf() | Returns negative infinity |
| Notโaโnumber | BSON::Double::NaN() | Returns NaN |
| Extended JSON (strict) | TO_JSON (automatic) | Outputs {"$numberDouble":"โฆ"} when strict extJSON is enabled |
| Numification overload | 0 + $obj | Returns the wrapped numeric value |
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 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:
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.
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
Generated by phpman v4.9.22-1-g1b0fcb4 · Markdown · JSON · MCP Author: Che Dong Under GNU General Public License
2026-07-06 03:31 @216.73.216.52
CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Enhanced by LLM: deepseek-v4-pro / taotoken.net / www.chedong.com - original format