高精度数

概念

在 SequoiaDB 中可以使用高精度数,以满足银行等企业对于高精度数据存储和运算的需求场景,可以保证精度不丢失。

取值范围为:小数点前最高 131072 位,小数点后最高 16383 位。

格式

高精度数的表达形式如下:

  1. { "$decimal" : "<数据>" }
  2. { "$decimal" : "<数据>", "$precision" : [<总精度>, <小数精度>] }

有两种表示方法:

  1. 不指定数字的精度范围,可以支持最大的精度范围;
  2. 可以指定数字的总精度和小数精度。

其中“数据”为字符串形式的数字,“总精度”为该数字总的精度范围,“小数精度”为该数字中小数部分的精度范围。

由于需要确保精度不丢失,该类型的数据会使用较高的存储空间和运算代价。

Note:

请参考 NumberDecimal

示例

使用高精度数表示double类型无法存储的数字:1.88888E+308

  1. { "key" : { "$decimal" : "1.88888E+308" }