C では、通常、小数点以下の桁数を保持するには、出力のフォーマットが必要になります。これは、I/O ストリーム ライブラリの std::setprecision および std::fixed を使用することで実現できます。丸めには std::cout および I/O ストリームの書式設定、std::stringstream、std::round、または std::floor/std::ceil を使用し、C スタイルの printf 関数を使用できます。
C では、小数点以下の桁数を保持するには、通常、出力のフォーマットが必要になります。これは、I/O ストリーム ライブラリの std を使用して行うことができます。これを実現するには、:setprecision と std::fixed を使用します。小数点以下の桁を保持する方法は次のとおりです:
1. std::cout と I/O ストリームの書式設定を使用します
あなた あなたstd::cout を std::fixed および std::setprecision とともに使用して、出力形式を設定できます。
cpp
##
#include <iostream> #include <iomanip> // 包含 setprecision 和 fixed int main() { double value = 3.141592653589793; std::cout << std::fixed << std::setprecision(2) << value << std::endl; // 输出: 3.14 return 0; }
この例では、std::fixed は fix を必ず使用します。ポイント表記法であり、std::setprecision(2) は小数点以下の桁数を 2 に設定します。
2, Use std::stringstream
フォーマットされた文字列をコンソールに直接出力するのではなく、変数に保存する必要がある場合std::stringstream を使用できます。
cpp
###include <sstream>
#include <iomanip>
#include <string>
int main() {
double value = 3.141592653589793;
std::stringstream ss;
ss << std::fixed << std::setprecision(2) << value;
std::string formatted_value = ss.str(); // formatted_value 现在包含 "3.14"
return 0;
}
指定した小数点以下の桁数に四捨五入する場合は、std::round 関数を使用できます。 std::round は引数として浮動小数点数の 10 のべき乗を受け入れるため、必要な小数点以下の桁数に基づいて計算する必要があることに注意してください。
cpp
#include <cmath> // 包含 round 函数
#include <iostream>
int main() {
double value = 3.141592653589793;
double rounded_value = std::round(value * 100.0) / 100.0; // 四舍五入到小数点后两位
std::cout << rounded_value << std::endl; // 输出: 3.14
return 0;
}
4. C スタイルのフォーマットされた出力を使用する
C ではフォーマットに I/O ストリームを使用することを推奨していますが、C スタイルの printf を使用することもできます。関数。
#cpp
##
#include <cstdio> int main() { double value = 3.141592653589793; printf("%.2f\n", value); // 输出: 3.14 return 0; }
printf では、%.2f は浮動小数点数を出力することを意味します。小数点以下 2 桁までにしてください。
これらのメソッドは、C で小数点以下の桁数を保持するために使用できます。どの方法を選択するかは、特定のニーズと好みのプログラミング スタイルによって異なります。
以上がC++ で小数点以下の桁数を保持する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。