[#BloombergLP-bdldfp-Decimal_Type64]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdldfp.adoc[bdldfp]::Decimal&lowbar;Type64
:relfileprefix: ../../
:mrdocs:

This value&hyphen;semantic class implements the IEEE&hyphen;754 64 bit decimal floating&hyphen;point format arithmetic type&period; This class is a standard layout type that is `const` thread&hyphen;safe and exception&hyphen;neutral&period;

== Synopsis

Declared in `&lt;bdldfp&lowbar;decimal&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
class Decimal&lowbar;Type64;
----

== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bdldfp/Decimal_Type64/2constructor-05.adoc[`Decimal&lowbar;Type64`]         [.small]#[constructor]#
| Constructors
| xref:BloombergLP/bdldfp/Decimal_Type64/bdexStreamIn.adoc[`bdexStreamIn`] 
| Assign to this object the value read from the specified input `stream` using the specified `version` format, and return a reference to `stream`&period; If `stream` is initially invalid, this operation has no effect&period; If `version` is not supported, this object is unaltered and `stream` is invalidated, but otherwise unmodified&period; If `version` is supported but `stream` becomes invalid during this operation, this object has an undefined, but valid, state&period; Note that no version is read from `stream`&period; See the `bslx` package&hyphen;level documentation for more information on BDEX streaming of value&hyphen;semantic types and containers&period;
| xref:BloombergLP/bdldfp/Decimal_Type64/bdexStreamOut.adoc[`bdexStreamOut`] 
| Write the value of this object, using the specified `version` format, to the specified output `stream`, and return a reference to `stream`&period; If `stream` is initially invalid, this operation has no effect&period; If `version` is not supported, `stream` is invalidated, but otherwise unmodified&period; Note that `version` is not written to `stream`&period; See the `bslx` package&hyphen;level documentation for more information on BDEX streaming of value&hyphen;semantic types and containers&period;
| xref:BloombergLP/bdldfp/Decimal_Type64/data-01.adoc[`data`] 
| `data` overloads
| xref:BloombergLP/bdldfp/Decimal_Type64/operator_star_eq-092.adoc[`operator&ast;&equals;`] 
| Multiplication assignment operators
| xref:BloombergLP/bdldfp/Decimal_Type64/operator_inc.adoc[`operator&plus;&plus;`] 
| Add 1&period;0 to the value of this object and return a reference to it&period; Note that this is a floating&hyphen;point value so this operation may not change the value of this object at all (if the value is large) or it may just set it to 1&period;0 (if the original value is small)&period;
| xref:BloombergLP/bdldfp/Decimal_Type64/operator_plus_eq-09d.adoc[`operator&plus;&equals;`] 
| Addition assignment operators
| xref:BloombergLP/bdldfp/Decimal_Type64/operator_dec.adoc[`operator&hyphen;&hyphen;`] 
| Add &hyphen;1&period;0 to the value of this object and return a reference to it&period; Note that this is a floating&hyphen;point value so this operation may not change the value of this object at all (if the value is large) or it may just set it to &hyphen;1&period;0 (if the original value is small)&period;
| xref:BloombergLP/bdldfp/Decimal_Type64/operator_minus_eq-06.adoc[`operator&hyphen;&equals;`] 
| Subtraction assignment operators
| xref:BloombergLP/bdldfp/Decimal_Type64/operator_slash_eq-06.adoc[`operator&sol;&equals;`] 
| Division assignment operators
| xref:BloombergLP/bdldfp/Decimal_Type64/print.adoc[`print`] 
| Write the value of this object to the specified output `stream` in a human&hyphen;readable format, and return a reference to `stream`&period; Optionally specify an initial indentation `level`, whose absolute value is incremented recursively for nested objects&period; If `level` is specified, optionally specify `spacesPerLevel`, whose absolute value indicates the number of spaces per indentation level for this and all of its nested objects&period; If `level` is negative, suppress indentation of the first line&period; If `spacesPerLevel` is negative, format the entire output on one line, suppressing all but the initial indentation (as governed by `level`)&period; If `stream` is not valid on entry, this operation has no effect&period; Note that this human&hyphen;readable format is not fully specified, and can change without notice&period;
| xref:BloombergLP/bdldfp/Decimal_Type64/value.adoc[`value`] 
| Return the value of the underlying implementation&period;
| xref:BloombergLP/bdldfp/Decimal_Type64/2conversion.adoc[`operator BloombergLP::bslmf::NestedTraitDeclaration&lt;Decimal&lowbar;Type64, is&lowbar;trivially&lowbar;copyable&gt;`] 
| Declare the specified nested trait for this decimal type&period;
|===


== Static Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bdldfp/Decimal_Type64/maxSupportedBdexVersion-05.adoc[`maxSupportedBdexVersion`] 
| `maxSupportedBdexVersion` overloads
|===



[.small]#Created with https://www.mrdocs.com[MrDocs]#
