NAME
BSON::Decimal128 - BSON type wrapper for Decimal128
VERSION
version v1.12.2
SYNOPSIS
use BSON::Types ':all';
# string representation
$decimal = bson_decimal128( "1.23456789E+1000" );
# binary representation in BID format
$decimal = BSON::Decimal128->new( bytes => $bid )
DESCRIPTION
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 (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 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.
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