ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript で数値を小数点第 1 位に正確に四捨五入するにはどうすればよいですか?

JavaScript で数値を小数点第 1 位に正確に四捨五入するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-19 01:02:03715ブラウズ

How to Accurately Round Numbers to One Decimal Place in JavaScript?

JavaScript での小数点第 1 位への四捨五入

JavaScript での数値の四捨五入は難しい場合がありますが、多くのアプリケーションにとって重要です。一般的なタスクの 1 つは、数値を小数点第 1 位に四捨五入することです。

*10, Round, /10 メソッド

一般的なアプローチは、数値を 10 で乗算することです。を四捨五入し、10 で割ります。ただし、この方法では、整数の末尾に小数点以下 2 桁が残ります。

正しいアプローチ

正しく 1 に丸めるには小数点以下の場合は、次の式を使用します。

Math.round(num * 10) / 10

var number = 12.3456789;
var rounded = Math.round(number * 10) / 10;
// rounded is 12.3

末尾のゼロの追加

四捨五入した数値が常に小数点以下 1 桁になるようにする必要があります。たとえそれがゼロであっても、次を使用します:

var fixed = rounded.toFixed(1);
// 'fixed' is always to one decimal point

カスタム丸め関数

より柔軟性を高めるにはでは、精度を引数として受け取るカスタム丸め関数を作成できます。

function round(value, precision) {
    var multiplier = Math.pow(10, precision || 0);
    return Math.round(value * multiplier) / multiplier;
}

この関数を使用すると、最も近い整数 (精度 0) への丸めを含む、任意の精度に丸めることができます。

補足:

  • .toFixed() メソッドは文字列を返すため、必要に応じて parseFloat() を使用して数値に変換する必要があります。
  • 計算で末尾のゼロが失われるのを防ぐため、数値を出力する前の最後のステップとして丸めを実行します。
  • 負の数値はこの方法で正しく処理されます。

以上がJavaScript で数値を小数点第 1 位に正確に四捨五入するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。