【JavaScript】Math.trunc – 小数点以下を切り捨てて整数部分のみを取得

JavaScriptで数値の小数点以下を切り捨てて整数部分のみを取得したい場合、Math.trunc()メソッドを使用します。今回は、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を処理できない

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 や非数値の入力には注意が必要です