$toDecimal
¶版本4.0中的新功能。
将值转换为小数。如果该值不能转换为小数,则$toDecimal
错误。如果该值为null或缺少,则$toDecimal
返回null。
$toDecimal
具有以下语法:
在$toDecimal
采取任何有效的表达。
的$toDecimal
是以下的简写
$convert
表达:
也可以看看
下表列出了可以转换为十进制的输入类型:
输入类型 | 行为 |
---|---|
布尔型 | 返回
NumberDecimal("0") 的 false 。返回
NumberDecimal("1") 的true 。 |
双 | 返回双精度值作为十进制数。 |
小数 | 没事 返回小数。 |
整数 | 以整数形式返回int值。 |
长 | 返回long值(十进制)。 |
串 | 以十进制形式返回字符串的数值。 字符串值必须是基的10数字值(例如
您不能转换非以10为基数的字符串值
(例如 |
日期 | 返回自与日期值对应的纪元以来的毫秒数。 |
下表列出了一些转换为十进制的示例:
例 | 结果 |
---|---|
{$toDecimal: true} |
NumberDecimal(“ 1”) |
{$toDecimal: false} |
NumberDecimal(“ 0”) |
{$toDecimal: 2.5} |
NumberDecimal(“ 2.50000000000000”) |
{$toDecimal: NumberInt(5)} |
NumberDecimal(“ 5”) |
{$toDecimal: NumberLong(10000)} |
NumberDecimal(“ 10000”) |
{$toDecimal: "-5.5"} |
NumberDecimal(“-5.5”) |
{$toDecimal: ISODate("2018-03-27T05:04:47.890Z")} |
NumberDecimal(“ 1522127087890”) |