[Table of Contents] [docx version]

SpreadsheetML Reference Material - Table of Contents

Precision

In order to clarify the semantics of cell formulas and values in SpreadsheetML, it is necessary to specify the precision of the numbers being represented in the file format. These numbers are therefore regarded as ranging over a specific value space, which defaults to the following:

The value space consists of the values m × 2^n, where m is an integer whose absolute value is less than 2^53, and n is an integer between -1075 and 970, inclusive. m is herein referred to as the binary mantissa, and n is herein referred to as the binary exponent.

[Note: The default precision is patterned after the IEEE double-precision 64-bit floating-point type [IEEE 754-1985]. end note]

Implementing applications can use the characteristics markup (§7.7) to specify other value spaces to replace the default in a given workbook. When present in the workbook, the value space defined using the characteristics markup overrides the default value space.

Regardless of the specific value space in use, values shall have a lexical representation as described in §3.17.5.3. Any numerical expression conforming to this lexical description is valid. However, numbers of higher precision than available in the value space, and numbers that lie outside the range representable in the value space shall be loaded as numbers in the value space or otherwise handled according to the prescription in §3.17.5.4.