Decimal
Decimal
类用于表示任意精度的实数。如果预设为 standard,则该类继承自 big.js
。因此,.toString()
方法等的结果在不同预设之间可能不一致。
导入
import { Decimal } from "@tai-kun/surrealdb/decodeonly-datatypes";import { Decimal } from "@tai-kun/surrealdb/encodable-datatypes";import { Decimal } from "@tai-kun/surrealdb/standard-datatypes";
.constructor()
创建一个新的 Decimal
对象。
new Decimal(source: string); // decode-only, encodablenew Decimal(source: string | number | Decimal); // standard
参数
source
表示实数的字符串。如果预设为 standard,则也可以传入数值。
返回值
如果通过 new
调用,Decimal
将返回其实例。
.toString()
实例 方法 >=decode-only
获取实数的字符串表示。
参数
无。
返回值
返回实数的字符串表示。
.toSurql()
实例 方法 >=encodable
将 Decimal
对象转换为可嵌入 SurrealQL 的字符串。类似于 .toString()
,但通过添加 dec
后缀来告知查询解析器该字符串为 decimal
类型。
.toSurql(): string;
参数
无。
返回值
返回带有 dec
后缀的实数。
例子
import { Decimal } from "@tai-kun/surrealdb/encodable-datatypes";
const decimal = new Decimal("3.14");console.log(decimal.toSurql());//-> 3.14dec
.clone()
实例 方法 =standard
复制 Decimal
对象。
.clone(): this;
参数
无。
返回值
返回一个新的 Decimal
对象。如果继承了 Decimal
类,则返回该类的实例。
其他方法
如果使用 standard 预设,Decimal
类继承自 big.js
的 Big
类,因此实例方法和属性请参考 big.js
文档:
进阶
Decimal
对象的通用判断
建议使用 isDecimal
函数来判断值是否为 Decimal
对象,而无需依赖预设。由于该函数不使用 instanceof
,因此在验证值的预设未知时非常有用。
import { isDecimal } from "@tai-kun/surrealdb";