JavaScriptで数値を丸める際には、Math.floor()
、Math.ceil()
、Math.round()
という3つのメソッドを使用します。本記事では、それぞれの違いや使い方をまとめていきたいと思います。
Math.floor()
は、引数の数値の最も近い小さい整数を返します。小数点以下を切り捨てるメソッドです。
JavaScript
console.log(Math.floor(4.7)); // 4
console.log(Math.floor(-4.7)); // -5
このメソッドは、負の値にも適用できます。
Math.ceil()
は、引数の数値以上の値で最小の整数を返します。小数点以下を切り上げるメソッドです。
JavaScript
console.log(Math.ceil(4.2)); // 5
console.log(Math.ceil(-4.2)); // -4
小数点以下の値に関係なく、常に大きい方向に切り上げられます。
Math.round()
は、四捨五入するメソッドです。
JavaScript
console.log(Math.round(4.4)); // 4
console.log(Math.round(4.5)); // 5
console.log(Math.round(-4.5)); // -4
Math.round()
は、小数点以下が 0.5 以上の場合に切り上げ、それ未満の場合は切り捨てます。ただし、負の数の -0.5 は切り上げられて -4 になることに注意してください。
Math.random()
と組み合わせて、指定範囲内の整数を取得できます。
JavaScript
function getRandomInt(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
console.log(getRandomInt(1, 10)); // 例: 6
JavaScript
function formatPrice(price) {
return Math.floor(price) + '円';
}
console.log(formatPrice(299.99)); // "299円"
ページ数を計算する際にはMath.ceil()
を使うと便利です。
JavaScript
function getTotalPages(items, itemsPerPage) {
return Math.ceil(items / itemsPerPage);
}
console.log(getTotalPages(55, 10)); // 6
負の数値を四捨五入する際、-0.5
は-4
に切り上げられます。通常の四捨五入の感覚とは異なるため注意が必要です。
Math.floor()
、Math.ceil()
、Math.round()
を適切に使い分けることで、正しく数値を処理できます。
Math.floor()
: 小さい方向に切り捨てMath.ceil()
: 大きい方向に切り上げMath.round()
: 四捨五入(負の数の扱いに注意)- 丸めた数値をUIに表示する際は、ユーザーの理解を助けるラベルを付ける