$round (Arredondamento)
Última atualização: 2026-10-09
$round (Arredondamento)
$round arredonda um número, opcionalmente para uma casa decimal especificada. Ele recebe o valor e um argumento opcional de casa: 0 ou omitido arredonda para um inteiro, casas positivas mantêm decimais e casas negativas arredondam para dezenas, centenas e assim por diante. É usado para normalizar valores, pontuações ou outros valores exibidos. Um final .5 arredonda para longe de zero (2.5 vira 3, -2.5 vira -3); a diferença em relação a $trunc aparece apenas nos negativos e na fronteira .5. Qualquer argumento null ou ausente resulta em null.
| Categoria | Matemática |
|---|---|
| Versão do MongoDB | 1.0+ |
| Idioma do Exemplo | mongosh (Shell) |
📝 Sintaxe
{ $round: [ <valor>, <casa> ] }
⚙️ Parâmetros
| valor numérico | Um valor numérico ou uma expressão que resolva para um. |
|---|---|
| posição | Casas decimais opcionais; 0 ou omitido arredonda para um inteiro, valores negativos arredondam para dezenas ou mais. |
Retorno:O valor arredondado; null quando null ou ausente
▶ Exemplo
Execute os comandos abaixo no seu mongosh local (requer um mongod em execução):
// $round: manter duas casas decimais para valores
db.orders.aggregate([
{ $project: {
rounded: { $round: ['$price', 2] }
} }
])
Saída:
{ '_id': 1, 'rounded': 19.99 }
{ '_id': 2, 'rounded': 12.35 }
📌 Notas
- .5 arredonda para longe de zero, então -2.5 vira -3
- Uma casa negativa arredonda para dezenas ou centenas, ex.: $round: [123, -1] dá 120
- Comparado com $trunc, $round carrega em frações negativas enquanto $trunc apenas corta
🏷️ Tags Relacionados
💡 Casos Relacionados
Mais casos práticos em breve.
📚 Tutoriais Relacionados
❓ Perguntas Frequentes
QQual é a diferença entre $round e $trunc?
A$round arredonda com .5 indo para longe de zero enquanto $trunc corta em direção a zero; a diferença aparece nos negativos.
QComo arredondo para a dezena mais próxima com $round?
APasse -1 como casa, então $round: [123, -1] dá 120.
QO que $round retorna para -2.5?
AEle retorna -3, pois .5 arredonda para longe de zero.