Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menukar Apungan kepada Rentetan dengan Ketepatan dan Digit Perpuluhan Ditentukan dalam C?

Bagaimana untuk Menukar Apungan kepada Rentetan dengan Ketepatan dan Digit Perpuluhan Ditentukan dalam C?

DDD
DDDasal
2024-10-24 06:37:30408semak imbas

How to Convert Float to String with Precision and Decimal Digits Specified in C  ?

Tukar Apungan kepada Rentetan dengan Ketepatan dan Digit Perpuluhan Ditentukan

Menukar apungan kepada rentetan dalam C sambil menyatakan ketepatan dan bilangan perpuluhan digit selalunya diperlukan untuk memformat data berangka.

Satu pendekatan biasa ialah menggunakan streaming rentetan:

<code class="cpp">#include <sstream>

double pi = 3.14159265359;
std::stringstream stream;
stream << std::fixed << std::setprecision(2) << pi;
std::string s = stream.str();

Manipulator tetap memastikan tatatanda titik tetap, manakala setprecision( 2) mengehadkan bahagian perpuluhan kepada dua digit.

C 17 memperkenalkan fungsi to_chars untuk penukaran teknikal:

<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);
}</code>

Ingat untuk memastikan pematuhan pengkompil apabila menggunakan to_chars.

Atas ialah kandungan terperinci Bagaimana untuk Menukar Apungan kepada Rentetan dengan Ketepatan dan Digit Perpuluhan Ditentukan dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn