下表列出了可以转换为双精度型的输入类型:
| 输入类型 | 行为 |
|---|---|
| 布尔型 | 返回
0的 false。返回
1的true。 |
| 双 | 没事 返回双精度型。 |
| 小数 | 以双精度值返回十进制值。 十进制值必须在两倍的最小值和最大值之内。 您不能转换一个小于最小双精度值或大于最大双精度值的十进制值。 |
| 整数 | 以双精度值返回int值。 |
| 长 | 将long值作为双精度值返回。 |
| 串 | 以双精度值形式返回字符串的数值。 字符串值必须是基的10数字值(例如
您不能转换非以10为底的
数字的字符串值(例如 |
| 日期 | 返回自与日期值对应的纪元以来的毫秒数。 |
下表列出了一些转换为双重示例的示例:
| 例 | 结果 |
|---|---|
$toDouble: true |
1个 |
$toDouble: false |
0 |
$toDouble: 2.5 |
2.5 |
$toDouble: NumberInt(5) |
5 |
$toDouble: NumberLong(10000) |
10000 |
$toDouble: "-5.5" |
-5.5 |
$toDouble: ISODate("2018-03-27T05:04:47.890Z") |
1522127087890 |