ホームページ >バックエンド開発 >C++ >C++ で小数点以下の桁数を保持する方法

C++ で小数点以下の桁数を保持する方法

小老鼠
小老鼠オリジナル
2024-03-25 16:18:331751ブラウズ

C では、通常、小数点以下の桁数を保持するには、出力のフォーマットが必要になります。これは、I/O ストリーム ライブラリの std::setprecision および std::fixed を使用することで実現できます。丸めには std::cout および I/O ストリームの書式設定、std::stringstream、std::round、または std::floor/std::ceil を使用し、C スタイルの printf 関数を使用できます。

C++ で小数点以下の桁数を保持する方法

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;  
}

3. std::round または std::floor / を使用します。 std::ceil 四捨五入用

指定した小数点以下の桁数に四捨五入する場合は、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;  
}

切り捨てまたは切り上げを行う場合は、小数点以下の桁数を指定するには、std::floor 関数または std::ceil 関数を適切な乗算演算と組み合わせて使用​​できます。

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 サイトの他の関連記事を参照してください。

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