$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”) |