[jq] floor と ceil で数値を切り下げ・切り上げる

作成日: 2026年10月27日

jq の floor と ceil を使用すると、小数を含む数値を整数に切り下げたり、切り上げたりできます。

floor で切り下げる

floor は、入力した数値以下で最も大きい整数を返します。下記の例では、map を使って配列内の数値をそれぞれ切り下げています。

printf '%s\n' '[1.2,1.8,-1.2,-1.8]' | jq 'map(floor)'

実行結果は下記のとおりです。

[
  1,
  1,
  -2,
  -2
]

ceil で切り上げる

ceil は、入力した数値以上で最も小さい整数を返します。

printf '%s\n' '[1.2,1.8,-1.2,-1.8]' | jq 'map(ceil)'

実行結果は下記のとおりです。

[
  2,
  2,
  -1,
  -1
]

負数の場合も、floor は小さい整数の方向、ceil は大きい整数の方向に丸めます。例えば -1.2 に対して、floor は -2、ceil は -1 を返します。

参考

jq