指定された 10 進精度での浮動小数点数から文字列への正確な変換
C では、浮動小数点数を特定の精度で文字列に変換し、 10 進数については注意が必要です。このガイドでは、stringstream と C 17 の to_chars 関数という 2 つの一般的なソリューションについて説明します。
Stringstream の使用
Stringstream は、C で文字列を操作するための多用途ツールです。指定された精度で浮動小数点数を文字列に変換するには、ストリーム マニピュレータを適用できます。
<code class="cpp">#include <iomanip> #include <sstream> double pi = 3.14159265359; std::stringstream stream; stream << std::fixed << std::setprecision(2) << pi; std::string s = stream.str();
to_chars 関数の使用 (C 17 以降)
XML や JSON へのデータの書き込みなど、より技術的な目的には、C 17 で導入された to_chars 関数が簡潔な解決策を提供します。
<code class="cpp">#include <array> #include <charconv> double pi = 3.14159265359; std::array<char, 128> buffer; auto [ptr, ec] = std::to_chars(buffer.data(), buffer.data() + buffer.size(), pi, std::chars_format::fixed, 2); if (ec == std::errc{}) { std::string s(buffer.data(), ptr); } else { // Error handling }</code>
これらの手法を採用すると、10 進数の桁数を正確に制御しながら浮動小数点数を C の文字列に変換でき、データが正確に表現されるようになります。あなたの要件に従ってください。
以上がC で指定された 10 進精度で浮動小数点数を文字列に正確に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。