---
name: "BSON::Double"
section: "3pm"
platform: "linux"
package: "libbson-perl"
version: "1.12.2-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/BSON::Double"
---

# BSON::Double(3pm)

BSON type wrapper for Double

## 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 \<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()** – 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
```
