The MongoDB\BSON\Decimal128 class

Introduction

BSON type for the » Decimal128 floating-point format, which supports numbers with up to 34 decimal digits (i.e. significant digits) and an exponent range of −6143 to +6144.

Unlike the double BSON type (i.e. float in PHP), which only stores an approximation of the decimal values, the decimal data type stores the exact value. For example, MongoDB\BSON\Decimal128('9.99') has a precise value of 9.99 where as a double 9.99 would have an approximate value of 9.9900000000000002131628….

Note: MongoDB\BSON\Decimal128 is only compatible with MongoDB 3.4+. Attempting to use the BSON type with an earlier version of MongoDB will result in an error.

Class synopsis

MongoDB\BSON\Decimal128
final class MongoDB\BSON\Decimal128 implements MongoDB\BSON\Decimal128Interface, MongoDB\BSON\Type, Serializable, JsonSerializable, Stringable {
/* Methods */
final public __construct(string $value)
final public mixed jsonSerialize()
final public string serialize()
final public string __toString()
final public void unserialize(string $data)
}

Changelog

Version Description
PECL mongodb 1.12.0 Implements Stringable for PHP 8.0+.
PECL mongodb 1.3.0 Implements MongoDB\BSON\Decimal128Interface.
PECL mongodb 1.2.0 Implements Serializable and JsonSerializable.

Table of Contents