Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk mencapai pemformatan tepat dengan std::ostream seperti printf_s?

Bagaimana untuk mencapai pemformatan tepat dengan std::ostream seperti printf_s?

Linda Hamilton
Lepaskan: 2024-10-30 04:30:28
asal
417 orang telah melayarinya

How to achieve precise formatting with std::ostream like printf_s?

Pemformatan Tepat dengan std::ostream

Bagaimana untuk mencapai pemformatan tepat dengan std::cout? Pertimbangkan contoh berikut:

<code class="cpp">double my_double = 42.0;
char str[12];
printf_s("%11.6lf", my_double); // Prints " 42.000000"</code>
Salin selepas log masuk

Dalam kod ini, printf_s digunakan untuk memformat dan mencetak double my_double dengan ketepatan dan lebar tertentu. Kefungsian setara dalam std::ostream boleh dicapai menggunakan manipulator strim.

Untuk mengeluarkan " 42.000000" menggunakan std::cout, gunakan manipulator ini dalam urutan:

std:: tetap: Menetapkan tatatanda titik tetap dan bukannya tatatanda saintifik.

std::setw(11): Menetapkan lebar medan output kepada 11 aksara.

std::setprecision(6): Menentukan bilangan digit yang akan dipaparkan selepas titik perpuluhan.

Kod yang betul menjadi:

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

std::cout << std::fixed << std::setw(11) << std::setprecision(6) << my_double;</code>
Salin selepas log masuk

Ini pendekatan membenarkan pemformatan tepat nilai berganda menggunakan std::ostream tanpa menggunakan perpustakaan pihak ketiga atau manipulasi rentetan tersuai.

Untuk rujukan komprehensif tentang pemformatan std::ostream, rujuk dokumentasi Perpustakaan Standard C, khususnya bahagian "Manipulator Strim."

Atas ialah kandungan terperinci Bagaimana untuk mencapai pemformatan tepat dengan std::ostream seperti printf_s?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan