NumberDecimal

高精度数,可以保证精度不丢失。

数据类型的介绍可参考 数据类型

Json格式

  • 格式1

  • 语法

    { “$decimal”: }

    参数描述

    参数名参数类型描述是否必填
    data字符串存储的数据内容。
  • 格式2

  • 语法

    { “$decimal”: , “$precision”: [, ] }

    参数描述

    参数名参数类型描述是否必填
    data字符串存储的数据内容。
    precision整数总精度。
    scale整数小数位精度。

函数格式

  • 语法

    NumberDecimal( [, [ , ] ] )

    参数描述

    参数名参数类型描述是否必填
    data字符串存储的数据内容。
    precision整数总精度。
    scale整数小数位精度。

返回值

无返回值,出错抛异常,并输出错误信息。可以通过getLastErrMsg()获取错误信息,通过getLastError()获取错误码。关于错误处理可以参考常见错误处理指南

错误

错误信息记录在节点诊断日志(diaglog)中,可参考错误码

错误码可能的原因解决方法
-6参数错误请参考示例。

示例

插入高精度类型的记录

  1. > db.foo.bar.insert( { a: { $decimal: "100.01" } } )
  2. > db.foo.bar.insert( { a: { $decimal: "100.01", $precision: [ 10, 2 ] } } )
  3. > db.foo.bar.insert( { a: NumberDecimal( "100.01", [ 10, 2 ] ) } )