Scroll to navigation

BSON::Double(3pm) User Contributed Perl Documentation BSON::Double(3pm)

NAME

BSON::Double - BSON type wrapper for Double

VERSION

version v1.10.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) 2018 by Stefan G. and MongoDB, Inc.

This is free software, licensed under:

  The Apache License, Version 2.0, January 2004
2018-12-09 perl v5.28.1