ホームページ >バックエンド開発 >C++ >数値を小数点以下 n 桁に四捨五入する C++ プログラム

数値を小数点以下 n 桁に四捨五入する C++ プログラム

PHPz
PHPz転載
2023-09-12 17:13:021914ブラウズ

数値を小数点以下 n 桁に四捨五入する C++ プログラム

数値を出力として表現することは、どの言語でプログラムを作成する場合でも興味深い、重要な作業です。整数型 (short、long、または Medium 型のデータ) の場合、出力として数値を表すのは簡単です。浮動小数点数 (float または double 型) の場合、特定の小数点以下の桁数に四捨五入する必要がある場合があります。たとえば、52.24568 を小数点以下 3 桁で表現したい場合は、前処理が必要です。この記事では、浮動小数点数を四捨五入して特定の小数点以下の桁数に表現するいくつかのテクニックを紹介します。

さまざまな方法の中でも、C に似た形式文字列を使用し、精度パラメータを使用し、数学ライブラリでround()関数を使用することが重要です。一つずつ見ていきましょう。正しい構文とコード例付き。

フォーマット文字列を使用する

C 言語では、フォーマットされた印刷を表すために printf() 関数を使用します。 printf() 関数を使用してデータを表示するには、事前に書式文字列を指定する必要があります。同じ printf() 関数は C でも動作します。特定の小数点以下の桁数で数値を表す場合、書式設定構文は次のようになります

###文法###

printf ステートメントの構文。

リーリー

たとえば、浮動小数点変数 NUM を小数点以下 4 桁を保持して表示したい場合、ステートメントは次のようになります -

リーリー

Example

の中国語訳は次のとおりです:

Example

リーリー ###出力### リーリー

この例では、指定された数値の小数点以下の桁数が 6 桁であることがわかります。ただし、小数点以下 3 桁までしか表示されません。四捨五入した場合は最も近い値に自動的に変換されます。ただし、このプロセスには欠点があります。小数点以下の桁の値はいつでも動的に変更できません。この問題を解決するには、C ベースの setprecision() メソッドを使用する別のアプローチを採用します。

setprecision メソッドを使用する

C setprecision() と呼ばれる特殊な書式設定関数があり、これを使用して精度値を小数点以下 n 桁まで設定します。この方法を使用するには、iomanip ライブラリをインポートする必要があります。固定の小数点以下の桁数を使用することを指定することも必要です。構文は次のとおりです:

###文法###

set precision() メソッドを定義する

リーリー

たとえば、浮動小数点変数 NUM を小数点以下 4 桁を保持して表示したい場合、ステートメントは次のようになります -

リーリー

Example

の中国語訳は次のとおりです:

Example

リーリー ###出力### リーリー

これは、小数点以下 n 桁を表す理想的な方法です。 n = 0 の場合、別の方法を使用して丸めることができる場合があります。これにより、数値が整数に変換されます。具体的な方法は以下の通りです -

round() メソッドを使用する

「cmath」ライブラリには、数値を最も近い整数に変換するround() メソッドがあります。つまり、これは浮動小数点数を小数点以下 0 桁に変換することになります。構文は次のとおりです。

###文法###

round() メソッドを使用する

リーリー

たとえば、数値 45.254 を最も近い整数に四捨五入する場合、ステートメントは次のようになります。

リーリー

Example

の中国語訳は次のとおりです:

Example

リーリー ###出力### リーリー

この例では、浮動小数点数を最も近い整数に変換する適切かつ簡単な方法は、round() 関数を使用することであることが明らかです。この関数は引数として数値を受け取り、同等の整数を返します。この例では、負の数値 -45.69 があり、これを四捨五入すると -46 となり、元の数値より小さくなります。したがって、round() メソッドは、floor() や ceil() とは異なります。

###結論は###

C でコードを記述する場合、小数点以下 n 桁までの浮動小数点数を表現する方法はほとんどありません。最も基本的な方法は、printf() メソッドとフォーマット文字列を使用することです。ただし、この方法では書式文字列の小数点以下の桁数を動的に変更することはできません。この問題を処理するために、C iomanip ライブラリには、浮動小数点数を四捨五入する小数点以下の桁数を取得する set precision() メソッドがあります。浮動小数点数を最も近い整数 (小数点以下 0 桁) に丸める必要がある場合があります。この場合は、C の cmath ライブラリのround() メソッドを使用できます。

以上が数値を小数点以下 n 桁に四捨五入する C++ プログラムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。