指定された 10 進精度での浮動小数点数から文字列への正確な変換
C では、浮動小数点数を特定の精度で文字列に変換し、 10 進数については注意が必要です。このガイドでは、stringstream と C の to_chars 関数という 2 つの一般的なソリューションについて説明します。指定された精度で float を文字列に変換するには、ストリーム マニピュレータを適用できます:
#include
std::fixed は、数値が小数点と指定された桁数を使用して固定小数点表記で表現されることを保証します。
#include
#include
double pi = 3.14159265359;
std::stringstream stream;
stream - to_chars 関数の使用 (C 17 以降)
- Forデータを XML や JSON に書き込むなど、より技術的な目的では、C 17 で導入された to_chars 関数が簡潔な解決策を提供します。
#include
#include
二重円周率 = 3.14159265359;
std::array バッファ;
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);
}
それ以外 {
// エラー処理
}
std::to_chars 関数は、バッファー (std::array 形式)、数値、および形式指定 (この場合、10 進数 2 桁の std::chars_format::fixed) を受け取ります。
#include
#include
double pi = 3.14159265359;
std::array 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
}
これらの手法を採用することで、C で浮動小数点を正確に制御しながら文字列に変換できます。小数点以下の桁数を指定し、データが要件に従って正確に表現されるようにします。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3