[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 を返します。