これは、JavaScriptを使って数値を小数点以下2桁に丸める方法についての短いガイドです。
以下のカスタム JavaScript 関数を見てみましょう。
/** * Custom JavaScript function that rounds a number w/ * decimal places. * * @param val - The value that you want to format with decimal places. * @param decimals - The number of decimal places that should be used. * @returns {float} */function number_format(val, decimals){ //Parse the value as a float value val = parseFloat(val); //Format the value w/ the specified number //of decimal places and return it. return val.toFixed(decimals);}
この関数を number_format と名付けたのは、同様の処理を行う一般的な PHP 関数の名前だからです。
私たちのカスタム関数は2つのパラメータを受け取ります:
- val: 丸めたい数字
- decimals:
関数の内部では、JavaScriptのparseFloat関数を使用して、変数valをfloatとして解析しました。 これは、この関数が文字列変数も扱えるようにするためです。 toFixed()メソッドを使用する前に文字列変数を解析しなかった場合、コードは次のようなUncaught TypeErrorをスローします:
Uncaught TypeError: val.toFixed is not a function
これは、Number.prototype.toFixed()メソッドが文字列変数を解析しないためです。
PHP の number_format 関数とは異なり、この関数は千の区切り文字を追加しないことに注意してください。
以下の例を使って、この関数をテストすることができます:
console.log(number_format(2.333, 2)); //Result: 2.33console.log(number_format("9.01345", 2)); //Result: 9.01console.log(number_format(5, 2)); //Result: 5.00console.log(number_format("383.48910093", 4)); //Result: 383.4891console.log(number_format(33.92039, 1)); //Result: 33.9
見てのとおり、この関数は数字と文字列の両方を扱うことができます:
- 浮動小数点数 2.333 を小数点以下 2 桁に丸めることができました。333を小数点以下2桁に丸めることができました。
- 文字列「9.01345」を9.01に丸めました。
- 5のような整数は「5.
- 「383.48910093」は、2番目のパラメータを4に変更し、小数点以下4桁に丸めて383.4891.
- 最後に、33.92039を小数点以下1桁に丸めて33.9.
上記のコードがお役に立てれば幸いです!
「9.01345」は、9.01.
に丸められます。