$trunc (切り捨て)

最終更新:2026-10-09

$trunc (切り捨て)

$trunc は数値の小数部を 0 方向に切り捨て、任意で小数点以下の桁数を維持します。値と任意の桁数引数を取り、規則は $round と同じです。セント単位の切り捨て、表示値の準備、ページングに使われます。$round と違い切り上げは一切行われず、2.9 は 2、-2.9 は -2 になります。正の数では $floor と同じですが、負の数では分岐します。$trunc では -1.2 が -1、$floor では -2 になります。

カテゴリ数学
MongoDB バージョン1.0+
例の言語mongosh(シェル)

📝 構文

{ $trunc: [ <value>, <place> ] }

⚙️ パラメータ

数値数値、または数値に解決される式。
位置任意の小数点以下の桁数。0 または省略時は整数に丸め、負の値は十の位以上に丸めます。

戻り値:切り捨てた値。null または欠落している場合は null

▶ 例

以下のコマンドをローカルの mongosh で実行してください(mongod が起動済みである必要があります):

// $trunc: 金額の小数部を切り捨て
db.orders.aggregate([
  { $project: {
      whole: { $trunc: '$price' }
  } }
])

出力:

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

📌 注意事項

さらなる実践ケースを近日公開予定。

📚 関連チュートリアル

❓ よくある質問

Q$trunc と $floor は負の数でどう違いますか?
A$trunc は 0 方向に切り捨て(-1.2 が -1)、$floor は負の無限大方向に丸めます(-1.2 が -2)。
Q$trunc と $round の違いは?
A$trunc は小数を単に切り捨て、$round は .5 の境界で丸めます。
Q$trunc で小数位を残せますか?
Aはい。第 2 引数で桁数を指定します。$trunc: [19.999, 2] は 19.99 になります。
Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%