【JavaScript】小数点第n位で四捨五入・切り上げ・切り捨てする方法!

JavaScriptで数値を操作する際に、小数点第n位で四捨五入切り捨て切り上げを行うことがよくあります。この記事では、以下の内容をサンプルコードを用いて分かりやすく説明するように心掛けています。ご参考になれば幸いです。

  • 四捨五入
    • Math.round()を使用して四捨五入する方法
    • 小数点第n位で四捨五入する方法
    • toFixed()を使用して四捨五入する方法
  • 切り捨て
    • Math.floor()を使用して切り捨てする方法
    • 小数点第n位で切り捨てする方法
    • Math.trunc()を使用して切り捨てする方法
    • Math.floor()Math.trunc()の違い
  • 切り上げ
    • Math.ceil()を使用して切り上げする方法
    • 小数点第n位で切り上げする方法

四捨五入

四捨五入は、数値を最も近い整数に丸める操作です。JavaScriptでは、Math.round()メソッドとtoFixed()メソッドを使用して四捨五入を行うことができます。

Math.round()を使用して四捨五入する方法

Math.round()メソッドは、数値を最も近い整数に四捨五入します。小数点以下が0.5以上の場合は切り上げられ、それ以下の場合は切り捨てられます。サンプルコードを以下に示します。

const num1 = 4.5;
const num2 = 4.4;

console.log(Math.round(num1)); // 出力: 5
console.log(Math.round(num2)); // 出力: 4

上記のサンプルコードでは、Math.round()メソッドを使用して、それぞれの数値を四捨五入しています。num14.5なので5に四捨五入され、num24.4なので4に四捨五入されます。

小数点第n位で四捨五入する方法

小数点第n位で四捨五入するには、まず数値を10のn乗倍してから四捨五入し、その後10のn乗で割ります。例えば、小数点第2位で四捨五入するには、数値を100倍してから、四捨五入し、その後100で割ります。サンプルコードを以下に示します。

// 小数点第2位に四捨五入
console.log(Math.round(123.456 * 100) / 100); // 出力: 123.46
// 小数点第1位に四捨五入
console.log(Math.round(123.456 * 10) / 10); // 出力: 123.5

上記のサンプルコードでは、123.456を100倍してから四捨五入し、再び100で割ることで小数点第2位に四捨五入しています。同様に、123.456を10倍してから四捨五入し、再び10で割ることで小数点第1位に四捨五入しています。

toFixed()を使用して四捨五入する方法

toFixed()メソッドは、数値を指定した小数点以下の桁数に四捨五入した文字列を返します。このメソッドは特に、特定の小数点以下の桁数に四捨五入したい場合に便利です。サンプルコードを以下に示します。

const num = 4.5678;

console.log(num.toFixed(2)); // 出力: "4.57"
console.log(num.toFixed(0)); // 出力: "5"

上記のサンプルコードでは、toFixed()メソッドを使用して、数値4.5678を小数点以下2桁に四捨五入し、文字列として出力しています。また、小数点以下0桁に四捨五入して整数として出力しています。

切り捨て

切り捨ては、数値を最も近い小さい整数に丸める操作です。JavaScriptでは、Math.floor()メソッドとMath.trunc()メソッドを使用して切り捨てを行うことができます。

Math.floor()を使用して切り捨てする方法

Math.floor()メソッドは、数値を最も近い小さい整数に切り捨てます。サンプルコードを以下に示します。

const num1 = 4.7;
const num2 = -4.7;

console.log(Math.floor(num1)); // 出力: 4
console.log(Math.floor(num2)); // 出力: -5

上記のサンプルコードでは、Math.floor()メソッドを使用して、それぞれの数値を切り捨てています。num14.7なので4に切り捨てられ、num2-4.7なので-5に切り捨てられます。

小数点第n位で切り捨てする方法

小数点第n位で切り捨てするには、まず数値を10のn乗倍してから切り捨て、その後10のn乗で割ります。例えば、小数点第2位で切り捨てするには、数値を100倍してから、切り捨て、その後100で割ります。サンプルコードを以下に示します。

// 小数点第2位に切り捨て
console.log(Math.floor(123.456 * 100) / 100); // 出力: 123.45
// 小数点第1位に切り捨て
console.log(Math.floor(123.456 * 10) / 10); // 出力: 123.4

この例では、123.456を100倍してから切り捨てし、再び100で割ることで小数点第2位に切り捨てしています。同様に、123.456を10倍してから切り捨てし、再び10で割ることで小数点第1位に切り捨てしています。

Math.trunc()を使用して切り捨てする方法

Math.trunc()メソッドは、数値の小数点以下を切り捨て、整数部分だけを返します。このメソッドは、正の数と負の数の両方に対して小数点以下を単純に取り除くため、Math.floor()とは異なります。サンプルコードを以下に示します。

const num1 = 4.7;
const num2 = -4.7;

console.log(Math.trunc(num1)); // 出力: 4
console.log(Math.trunc(num2)); // 出力: -4

上記のサンプルコードでは、Math.trunc()メソッドを使用して、それぞれの数値を切り捨てています。num14.7なので4に切り捨てられ、num2-4.7なので-4に切り捨てられます。

Math.floor()とMath.trunc()の違い

Math.floor()Math.trunc()の違いは、負の数に対する処理方法です。Math.floor()は負の数を最も近い小さい整数に切り捨てますが、Math.trunc()は単に小数点以下を単純に切り捨てます。サンプルコードを以下に示します。

const num = -4.7;

console.log(Math.floor(num)); // 出力: -5
console.log(Math.trunc(num)); // 出力: -4

上記のサンプルコードでは、負の数-4.7に対するMath.floor()Math.trunc()の違いを示しています。Math.floor()-5に切り捨てられ、Math.trunc()-4に切り捨てられます。

切り上げ

切り上げは、数値を最も近い大きい整数に丸める操作です。JavaScriptでは、Math.ceil()メソッドを使用して切り上げを行うことができます。

Math.ceil()を使用して切り上げする方法

Math.ceil()メソッドは、数値を最も近い大きい整数に切り上げます。サンプルコードを以下に示します。

const num1 = 4.2;
const num2 = -4.2;

console.log(Math.ceil(num1)); // 出力: 5
console.log(Math.ceil(num2)); // 出力: -4

この例では、Math.ceil()メソッドを使用して、それぞれの数値を切り上げています。num14.2なので5に切り上げられ、num2-4.2なので-4に切り上げられます。

小数点第n位で切り上げする方法

小数点第n位で切り上げするには、まず数値を10のn乗倍してから切り上げ、その後10のn乗で割ります。例えば、小数点第2位で切り上げするには、数値を100倍してから、切り上げ、その後100で割ります。サンプルコードを以下に示します。

// 小数点第2位に切り上げ
console.log(Math.ceil(123.456 * 100) / 100); // 出力: 123.46
// 小数点第1位に切り上げ
console.log(Math.ceil(123.456 * 10) / 10); // 出力: 123.5

上記のサンプルコードでは、123.456を100倍してから切り上げし、再び100で割ることで小数点第2位に切り上げしています。同様に、123.456を10倍してから切り上げし、再び10で割ることで小数点第1位に切り上げしています。

本記事のまとめ

JavaScriptには、数値を四捨五入、切り上げ、切り捨てするための様々なメソッドがあります。以下のメソッドの使い方を理解することで、数値操作を効率的に行うことができます。

  • 四捨五入: Math.round(), toFixed()
  • 切り捨て: Math.floor(), Math.trunc()
  • 切り上げ: Math.ceil()