.\" Automatically generated by Pod::Man 4.10 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "BSON::Decimal128 3pm" .TH BSON::Decimal128 3pm "2018-12-09" "perl v5.28.1" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" BSON::Decimal128 \- BSON type wrapper for Decimal128 .SH "VERSION" .IX Header "VERSION" version v1.10.2 .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& use BSON::Types \*(Aq:all\*(Aq; \& \& # string representation \& $decimal = bson_decimal128( "1.23456789E+1000" ); \& \& # binary representation in BID format \& $decimal = BSON::Decimal128\->new( bytes => $bid ) .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" This module provides a \s-1BSON\s0 type wrapper for Decimal128 values. .PP It may be initialized with either a numeric value in string form, or with a binary Decimal128 representation (16 bytes), but not both. .PP 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. .SH "ATTRIBUTES" .IX Header "ATTRIBUTES" .SS "value" .IX Subsection "value" The Decimal128 value represented as string. If not provided, it will be generated from the \f(CW\*(C`bytes\*(C'\fR attribute on demand. .SS "bytes" .IX Subsection "bytes" The Decimal128 value represented in Binary Integer Decimal (\s-1BID\s0) format. If not provided, it will be generated from the \f(CW\*(C`value\*(C'\fR attribute on demand. .SH "METHODS" .IX Header "METHODS" .SS "\s-1TO_JSON\s0" .IX Subsection "TO_JSON" Returns the value as a string. .PP If the \f(CW\*(C`BSON_EXTJSON\*(C'\fR option is true, it will instead be compatible with MongoDB's extended \s-1JSON\s0 format, which represents it as a document as follows: .PP .Vb 1 \& {"$numberDecimal" : "2.23372036854775807E+57"} .Ve .SH "OVERLOADING" .IX Header "OVERLOADING" The stringification operator (\f(CW""\fR) is overloaded to return a (normalized) string representation. Fallback overloading is enabled. .SH "AUTHORS" .IX Header "AUTHORS" .IP "\(bu" 4 David Golden .IP "\(bu" 4 Stefan G. .SH "COPYRIGHT AND LICENSE" .IX Header "COPYRIGHT AND LICENSE" This software is Copyright (c) 2018 by Stefan G. and MongoDB, Inc. .PP This is free software, licensed under: .PP .Vb 1 \& The Apache License, Version 2.0, January 2004 .Ve