$trunc (Truncar)

Última atualização: 2026-10-09

$trunc (Truncar)

$trunc trunca a parte fracionária de um número em direção a zero, opcionalmente mantendo um número especificado de casas decimais. Ele recebe o valor e um argumento opcional de casa com as mesmas regras de $round. É usado para descartar centavos, preparar valores de exibição ou paginar. Ao contrário de $round, nunca arredonda para cima: 2.9 vira 2 e -2.9 vira -2. Para positivos, $trunc coincide com $floor, mas nos negativos divergem: -1.2 vira -1 com $trunc e -2 com $floor.

CategoriaMatemática
Versão do MongoDB1.0+
Idioma do Exemplomongosh (Shell)

📝 Sintaxe

{ $trunc: [ <valor>, <casa> ] }

⚙️ Parâmetros

valor numéricoUm valor numérico ou uma expressão que resolva para um.
posiçãoCasas decimais opcionais; 0 ou omitido arredonda para um inteiro, valores negativos arredondam para dezenas ou mais.

Retorno:O valor truncado; null quando null ou ausente

▶ Exemplo

Execute os comandos abaixo no seu mongosh local (requer um mongod em execução):

// $trunc: descartar a parte fracionária dos valores
db.orders.aggregate([
  { $project: {
      whole: { $trunc: '$price' }
  } }
])

Saída:

{ '_id': 1, 'whole': 19 }
{ '_id': 2, 'whole': 12 }

📌 Notas

Mais casos práticos em breve.

📚 Tutoriais Relacionados

❓ Perguntas Frequentes

QComo $trunc e $floor diferem nos negativos?
A$trunc corta em direção a zero (-1.2 vira -1) enquanto $floor vai em direção ao infinito negativo (-1.2 vira -2).
QComo $trunc e $round diferem?
A$trunc simplesmente descarta a fração enquanto $round arredonda na fronteira .5.
QO $trunc consegue manter casas decimais?
ASim, o segundo argumento define as casas, então $trunc: [19.999, 2] dá 19.99.
Web-Tutorial.com

Equipe Técnica Web-Tutorial

Uma plataforma de tutoriais mantida por diversos desenvolvedores. Cada tutorial é escrito e revisado por profissionais da área correspondente. Trabalhamos para manter nosso conteúdo preciso e confiável — se encontrar algum problema, avise-nos.

100%