MongoDB聚合运算符:$round
$round
聚合运算符用于将数字四舍五入为整数或指定的小数位。
语法
{
$round : [ <number>, <place> ] }
参数字段
<numer>
:数值类型,可以是任何能够解析为数值的表达式,比如是整数、双精度数、小数或长整数。如果解析为非表达式,则返回错误。<place>
:整数,可选字段,可以是任何可被解析为整数的表达式,必须在-20到100之间,也就是:-20< place < 100
,如果不指定,缺省值为0。- 如果
<place>
被解析为正整数,$round
四舍五入到<place>
小数位。如:$round: [1234.5678, 2]
四舍五入保留两位小数,返回1234.57
。 - 如果
<place>
解析为一个负整数,$round
使用小数点左边的数字<place>
进行舍入。例如$round : [1234.5678, -2]
应用到小数点左边的第二位数字 (3) 并返回1200
。如果<place>
的绝对值等于或超过小数点左边的位数,则$round
返回0
。例如:$round : [ 1234.5678, -4]
指定到了小数位左边的第四位,等于小数点左边的数字位数,所以返回0。 - 如果
<place>
解析为0,$round
对小数位右边第一位数字进行四舍五入,并返回四舍五入后的值。如:$round : [1234.5678, 0]
返回1235
。
- 如果
使用
四舍五入为偶数
当取整值为 5 时,$round 将取整到最接近的偶数值,如针对下面的示例文档:
{
_id : 1, "value" : 10.5},
{
_id : 2, "value" : 11.5},
{
_id : 3, "value" : 12.5},
{
_id : 4, "value" : 13.5}
$round