読み込み中...

JavaScriptで切り捨て!7つの簡単メソッドで完璧に使いこなそう

JavaScriptで切り捨てを行うサンプルコード JS
この記事は約7分で読めます。

【サイト内のコードはご自由に個人利用・商用利用いただけます】

この記事では、プログラムの基礎知識を前提に話を進めています。

説明のためのコードや、サンプルコードもありますので、もちろん初心者でも理解できるように表現してあります。

本記事のサンプルコードを活用して機能追加、目的を達成できるように作ってありますので、是非ご活用ください。

※この記事は、一般的にプロフェッショナルの指標とされる『実務経験10,000時間以上』を満たす現役のプログラマチームによって監修されています。

※Japanシーモアは、常に解説内容のわかりやすさや記事の品質に注力しております。不具合、分かりにくい説明や不適切な表現、動かないコードなど気になることがございましたら、記事の品質向上の為にお問い合わせフォームにてご共有いただけますと幸いです。
(送信された情報は、プライバシーポリシーのもと、厳正に取扱い、処分させていただきます。)

●JavaScriptにおける数値の切り捨て操作

JavaScriptにおいて、数値の切り捨て操作は非常に重要な基本スキルです。

この操作を使いこなすことで、より精度の高い計算結果を得ることができます。

本記事では、JavaScriptで利用可能な様々な切り捨て手法について詳しく解説していきます。

●切り捨ての基本概念

切り捨てとは、数値から小数部分を取り除き、整数部分のみを残す操作のことです。

例えば、3.14を切り捨てると3になります。

この操作は、計算結果の表示や在庫管理、金融計算など、多岐にわたる場面で活用されています。

●標準的な切り捨て方法

JavaScriptには、数値の切り捨てを行うための標準的なメソッドがいくつも用意されています。

ここでは、最も一般的に使用される二つのメソッドについて説明します。

○Math.floor()メソッドを用いた切り捨て

Math.floor()は、JavaScriptに組み込まれている数学関数の一つです。

この関数は、与えられた数値以下の最大の整数を返します。

const number = 7.9;
const flooredNumber = Math.floor(number);
console.log(flooredNumber); // 出力: 7

上記のコードでは、7.9という数値をMath.floor()に渡しています。

結果として、7.9以下の最大の整数である7が返されます。

○Math.ceil()を使用した切り上げ

Math.ceil()は、Math.floor()の逆の働きをします。

つまり、与えられた数値以上の最小の整数を返します。

const number = 3.2;
const ceiledNumber = Math.ceil(number);
console.log(ceiledNumber); // 出力: 4

このコードでは、3.2という数値をMath.ceil()に渡しています。

結果として、3.2以上の最小の整数である4が返されます。

●その他の丸め処理

切り捨てや切り上げ以外にも、JavaScriptには数値を丸める方法があります。

ここでは、最もよく使用される四捨五入の方法を紹介します。

○Math.round()による四捨五入

Math.round()は、与えられた数値を最も近い整数に丸めます。

0.5以上であれば切り上げ、0.5未満であれば切り捨てます。

const number1 = 5.4;
const number2 = 5.5;
console.log(Math.round(number1)); // 出力: 5
console.log(Math.round(number2)); // 出力: 6

このコードでは、5.4と5.5という二つの数値をMath.round()に渡しています。

5.4は5に、5.5は6に丸められます。

●高度な切り捨て技法

標準的な方法以外にも、JavaScriptには高度な切り捨て技法が存在します。

この方法は、特定の状況下でより効率的に動作したり、特殊な要件を満たしたりする場合に使用されます。

○Math.trunc()を用いた整数部分の抽出

Math.trunc()は、数値の小数部分を単純に切り捨て、整数部分のみを返します。

正の数に対してはMath.floor()と同じ働きをしますが、負の数に対してはMath.ceil()と同じ結果になります。

const positiveNumber = 4.9;
const negativeNumber = -4.9;
console.log(Math.trunc(positiveNumber)); // 出力: 4
console.log(Math.trunc(negativeNumber)); // 出力: -4

このコードでは、正の数4.9と負の数-4.9をMath.trunc()に渡しています。

結果として、それぞれ4と-4が返されます。

○ビット演算子を活用した高速な切り捨て

ビット演算子「|」(OR演算子)を0と組み合わせて使用することで、高速な切り捨て処理を実現できます。

この方法は、パフォーマンスが極めて重要な場面で使用されることがあります。

const number = 8.9;
const truncatedNumber = number | 0;
console.log(truncatedNumber); // 出力: 8

このコードでは、8.9という数値に対してビット演算子「|」を0と組み合わせて適用しています。

結果として、小数部分が切り捨てられ、整数部分の8が得られます。

●特殊な切り捨て方法

JavaScriptには、一見すると切り捨てとは関係なさそうな関数やテクニックを使って、切り捨てと同様の効果を得る方法があります。

この方法は、特定の状況下で非常に有用です。

○parseInt()関数を使用した文字列からの整数抽出

parseInt()関数は、文字列を整数に変換する際によく使用されますが、数値の切り捨てにも応用できます。

この方法は、特に文字列と数値が混在するデータを扱う際に便利です。

const number = 6.7;
const parsedNumber = parseInt(number, 10);
console.log(parsedNumber); // 出力: 6

このコードでは、6.7という数値をparseInt()関数に渡しています。

第二引数の10は基数を指定するもので、10進数を意味します。

結果として、小数部分が切り捨てられ、整数部分の6が得られます。

○カスタム関数による柔軟な切り捨て処理

特定の要件に合わせて、独自の切り捨て関数を作成することも可能です。

カスタム関数を使用することで、プロジェクト固有の要件に対応した切り捨て処理を実現できます。

ここでは、正の数と負の数を適切に処理する関数の例を紹介します。

function customFloor(number) {
  return number >= 0 ? Math.floor(number) : Math.ceil(number);
}

console.log(customFloor(3.7));  // 出力: 3
console.log(customFloor(-3.7)); // 出力: -3

この関数では、入力された数値が正か負かを判断し、適切な丸め処理を適用します。

正の数にはMath.floor()を、負の数にはMath.ceil()を使用しています。

●精密な切り捨て処理

時には、単純に整数部分を取り出すだけでなく、より精密な切り捨て処理が必要になることがあります。

JavaScriptには、このような要求に応える方法も用意されています。

○小数点以下の桁数を指定した切り捨て

時には、小数点以下の特定の桁数まで残して切り捨てたい場合があります。

このような場合、toFixed()メソッドが役立ちます。

この方法は、金融計算や科学的計算など、精度が重要な場面で特に有用です。

const number = 3.14159;
const fixedNumber = parseFloat(number.toFixed(2));
console.log(fixedNumber); // 出力: 3.14

このコードでは、まずtoFixed()メソッドを使用して小数点以下2桁まで残しています。

ただし、toFixed()は文字列を返すため、parseFloat()を使用して数値に変換しています。

まとめ

以上、JavaScriptにおける様々な切り捨て方法について解説しました。

切り捨て処理は一見単純に見えますが、実際には多くの選択肢と考慮すべき点があります。

本記事で紹介した方法を参考に、皆さんのプロジェクトに最適な切り捨て方法を選択してください。

また、常に新しい手法や最適化の方法が登場する可能性があるため、JavaScriptの進化に注目し続けることをおすすめします。