BSON::Decimal128(3pm)

BSON::Decimal1283pm

Bson type wrapper for decimal128

Usage

    use BSON::Types ':all';
    # string representation
    $decimal = bson_decimal128( "1.23456789E+1000" );
    # binary representation in BID format
    $decimal = BSON::Decimal128->new( bytes => $bid )

Version

version v1.12.2

Overview

This module provides a BSON type wrapper for Decimal128 values.

It may be initialized with either a numeric value in string form, or with a binary Decimal128 representation (16 bytes), but not both.

Initialization from a string will throw an error if the string cannot be parsed as a Decimal128 or if the resulting number would not fit into 128 bits. If required, clamping or exact rounding will be applied to try to fit the value into 128 bits.

Attributes

value

The Decimal128 value represented as string. If not provided, it will be generated from the "bytes" attribute on demand.

bytes

The Decimal128 value represented in Binary Integer Decimal <https://en.wikipedia.org/wiki/Binary_Integer_Decimal> (BID) format. If not provided, it will be generated from the "value" attribute on demand.

Methods

To_json

Returns the value as a string.

If the "BSON_EXTJSON" option is true, it will instead be 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:

    {"$numberDecimal" : "2.23372036854775807E+57"}

Overloading

The stringification operator ("") is overloaded to return a (normalized) string representation. Fallback overloading is enabled.

Releases

4 releases since Debian 10 (Buster); the text changed 2 times.

  1. 10
  2. 11–12
  3. 13