徹底解説:JavaScriptで小数点第2位まで四捨五入する7つのテクニック
JavaScriptで小数点第2位まで四捨五入する
Math.round()
関数は、数値を四捨五入します。小数点第2位まで四捨五入するには、次のようにします。
const num = 123.456;
const roundedNum = Math.round(num * 100) / 100;
console.log(roundedNum); // 出力: 123.46
上記のコードでは、まずnum
を100倍して、小数点第2位を整数にします。その後、100で割って、元の桁数に戻します。
toFixed()
メソッドは、数値を文字列に変換し、小数点以下の桁数を指定できます。小数点第2位まで四捨五入するには、次のようにします。
const num = 123.456;
const roundedNum = num.toFixed(2);
console.log(roundedNum); // 出力: "123.46"
上記のコードでは、num
のtoFixed()
メソッドを呼び出し、引数に2を指定することで、小数点第2位まで四捨五入して文字列に変換しています。
自作関数を使う
上記の2つの方法以外にも、自作関数を使って小数点第2位まで四捨五入することができます。以下は、自作関数の例です。
function roundToTwoDecimalPlaces(num) {
const factor = 100;
const roundedNum = Math.round(num * factor) / factor;
return roundedNum;
}
const num = 123.456;
const roundedNum = roundToTwoDecimalPlaces(num);
console.log(roundedNum); // 出力: 123.46
上記のコードでは、roundToTwoDecimalPlaces()
という自作関数を作成し、引数に数値を受け取り、小数点第2位まで四捨五入して返します。
JavaScriptで小数点第2位まで四捨五入するには、Math.round()
関数、toFixed()
メソッド、自作関数など、いくつかの方法があります。どの方法を使うかは、状況によって使い分けることができます。
// Math.round()関数を使う
const num1 = 123.456;
const roundedNum1 = Math.round(num1 * 100) / 100;
console.log(roundedNum1); // 出力: 123.46
// toFixed()メソッドを使う
const num2 = 123.456;
const roundedNum2 = num2.toFixed(2);
console.log(roundedNum2); // 出力: "123.46"
// 自作関数を使う
function roundToTwoDecimalPlaces(num) {
const factor = 100;
const roundedNum = Math.round(num * factor) / factor;
return roundedNum;
}
const num3 = 123.456;
const roundedNum3 = roundToTwoDecimalPlaces(num3);
console.log(roundedNum3); // 出力: 123.46
上記のように、さまざまな方法で小数点第2位まで四捨五入することができます。
- 上記のコードは、整数部分と小数部分の桁数が異なる場合でも、正しく四捨五入することができます。
- 小数点第2位より左側の桁数を変更したい場合は、
Math.round()
関数の引数やtoFixed()
メソッドの引数を調整してください。
小数点第2位まで四捨五入する他の方法
Number.prototype.toLocaleString()を使う
const num = 123.456;
const options = { maximumFractionDigits: 2 };
const roundedNum = num.toLocaleString('ja-JP', options);
console.log(roundedNum); // 出力: "123.46"
上記のコードでは、num
のtoLocaleString()
メソッドを呼び出し、オプションオブジェクトをja-JP
ロケールとmaximumFractionDigits
オプションに2を指定して、小数点第2位まで四捨五入して文字列に変換しています。
ライブラリを使う
lodash
などのライブラリには、小数点処理用の関数が含まれています。ライブラリを使うと、より簡単に小数点第2位まで四捨五入することができます。
const _ = require('lodash');
const num = 123.456;
const roundedNum = _.round(num, 2);
console.log(roundedNum); // 出力: 123.46
上記のコードでは、lodash
ライブラリの_.round()
関数を使い、小数点第2位まで四捨五入しています。
- 小数点第2位より左側の桁数を変更したい場合は、各方法の引数を調整してください。
javascript rounding decimal-point