SequoiaDB 简介
安装部署
数据库实例
分布式引擎
SAC 管控中心
参考手册
常见问题及解答(FAQ)
版本信息
高精度数,可以保证精度不丢失。
数据类型的介绍可参考数据类型。
格式1
语法 { "$decimal": <data> }
参数描述
参数名 | 参数类型 | 描述 | 是否必填 |
---|---|---|---|
data | 字符串 | 存储的数据内容。 | 是 |
格式2
语法 { "$decimal": <data>, "$precision": [<precision>, <scale>] }
参数描述
参数名 | 参数类型 | 描述 | 是否必填 |
---|---|---|---|
data | 字符串 | 存储的数据内容。 | 是 |
precision | 整数 | 总精度,取值范围为[1, 1000]。 | 是 |
scale | 整数 | 小数位精度,取值范围为[0, precision]。 | 是 |
语法
NumberDecimal( <data>, [ <precision>, <scale> ] )
参数描述
参数名 | 参数类型 | 描述 | 是否必填 |
---|---|---|---|
data | 字符串 | 存储的数据内容。 | 是 |
precision | 整数 | 总精度,取值范围为[1, 1000]。 | 否 |
scale | 整数 | 小数位精度,取值范围为[0, precision]。 | 否 |
无返回值,出错抛异常,并输出错误信息。可以通过 getLastErrMsg() 获取错误信息,通过 getLastError() 获取错误码。关于错误处理可以参考常见错误处理指南。
错误信息记录在节点诊断日志(diaglog)中,可参考错误码。
错误码 | 可能的原因 | 解决方法 |
---|---|---|
-6 | 参数错误 | 请参考示例。 |
插入高精度类型的记录
> db.sample.employee.insert( { a: { $decimal: "100.01" } } ) > db.sample.employee.insert( { a: { $decimal: "100.01", $precision: [ 10, 2 ] } } ) > db.sample.employee.insert( { a: NumberDecimal( "100.01", [ 10, 2 ] ) } )