必要に応じて数値を小数点第 2 位に四捨五入する
数値データを処理する場合、多くの場合、値を指定された小数点以下の桁に四捨五入する必要があります。ただし、場合によっては、値がまだ希望の精度に四捨五入されていない場合にのみ丸めたいことがあります。
次のシナリオを考えてみましょう。必要な場合にのみ、数値を小数点以下 2 桁までに四捨五入したいとします。 。例:
Input: 10 1.7777777 9.1 Output: 10 1.78 9.1
Math.round() の使用
考えられる解決策の 1 つは、Math.round() メソッドを使用することです。
let roundedNum = Math.round(num * 100) / 100;
このアプローチでは、数値を整数に丸める前に 100 を掛けます (小数点以下を実質的にシフトします)。右に 2 桁をポイントします)、それを 100 で割って、小数点以下 2 桁の値を取得します。
Using Number.EPSILON
ただし、このアプローチでは境界線のケースを正しく処理できません。たとえば、1.005 は 1.00 ではなく 1.01 に四捨五入されます。これに対処するには、Number.EPSILON を使用します。
let roundedNum = Math.round((num + Number.EPSILON) * 100) / 100;
Number.EPSILON は、重要であると考えられる 2 つの浮動小数点数間の最小差を表します。これを数値に追加すると、境界線の場合でも値が正しく丸められます。
以上がJavaScript で数値を小数点第 2 位まで正確に四捨五入するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。