JavaScriptで数値の小数点以下を切り捨てて整数部分のみを取得したい場合、Math.trunc()
メソッドを使用します。今回は、Math.trunc()
の基本的な使い方から使用時の注意点までをまとめていきたいと思います。
目次 非表示
Math.trunc()
は、数値の小数点以下を単純に切り捨てて整数部分のみを取得するメソッドです。
JavaScript
console.log(Math.trunc(3.9)); // 3
console.log(Math.trunc(-3.9)); // -3
console.log(Math.trunc(0.123)); // 0
JavaScript
let num1 = 45.78;
let num2 = -45.78;
console.log(Math.trunc(num1)); // 45
console.log(Math.trunc(num2)); // -45
Math.trunc()
は単純に小数点以下を削除するだけで、四捨五入などは行いません。
JavaScript
console.log(Math.trunc(4.9)); // 4
console.log(Math.floor(4.9)); // 4(同じ結果)
console.log(Math.ceil(4.9)); // 5(切り上げ)
console.log(Math.round(4.9)); // 5(四捨五入)
特に負の数を扱う場合、Math.trunc()
はMath.floor()
とは異なる動作をします。
JavaScript
console.log(Math.trunc(-4.9)); // -4(単純に小数点以下を削除)
console.log(Math.floor(-4.9)); // -5(負の方向に丸め)
JavaScript
let totalMinutes = 165.5;
let hours = Math.trunc(totalMinutes / 60);
let minutes = totalMinutes % 60;
console.log(`時間: ${hours} 時間 ${minutes} 分`); // "時間: 2 時間 45.5 分"
ランダムな数値を整数にする場合にも使えます。
JavaScript
let randomNum = Math.random() * 100; // 0〜100 のランダムな数
console.log(Math.trunc(randomNum)); // 例: 45
商品の価格表示を整数部分だけにすることも可能です。
JavaScript
let price = 1999.99;
console.log(`税込価格(整数表示): ¥${Math.trunc(price)}`); // "税込価格(整数表示): ¥1999"
Math.trunc()
にNaN
(Not a Number)を渡すと、NaN
のまま返ります。
JavaScript
console.log(Math.trunc(NaN)); // NaN
Math.trunc()
に文字列やnull
を渡すと、JavaScriptは内部でNumber()
に変換しようとしますが、適切に処理されないことがあります。
JavaScript
console.log(Math.trunc("100.5")); // 100
console.log(Math.trunc(null)); // 0
console.log(Math.trunc("abc")); // NaN
Math.trunc()
は数値の小数点以下を切り捨てて整数部分のみを取得しますMath.floor()
やMath.ceil()
とは異なる動作をすることに注意(特に負の数)しましょう- 価格表示、時間計算、乱数処理などに便利です
- NaN や非数値の入力には注意が必要です