Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mencapai Pemformatan Titik Terapung yang Tepat dengan std::ostream?

Bagaimana untuk Mencapai Pemformatan Titik Terapung yang Tepat dengan std::ostream?

Susan Sarandon
Susan Sarandonasal
2024-10-28 18:03:29945semak imbas

How to Achieve Precise Floating-Point Formatting with std::ostream?

Output Terformat Nilai Titik Terapung Menggunakan std::ostream

Soalan:

Bagaimanakah saya boleh mencapai kawalan tepat ke atas pemformatan nilai titik terapung menggunakan std::ostream, serupa dengan fungsi printf_s yang ditunjukkan di bawah?

<code class="cpp">printf_s("%11.6lf", my_double); // Prints " 42.000000"</code>

Jawapan:

Untuk memformat nilai titik terapung dengan std::cout, gunakan manipulator aliran. Kod berikut mencapai output yang diingini:

<code class="cpp">std::cout << std::fixed << std::setw(11) << std::setprecision(6) << my_double;</code>

Penjelasan:

  • std::fixed: Menentukan bahawa nilai harus diformatkan dengan bilangan tempat perpuluhan tetap.
  • std::setw(11): Mentakrifkan lebar medan minimum yang nilainya dipadatkan dengan ruang.
  • std::setprecision(6): Menetapkan bilangan tempat perpuluhan untuk dipaparkan.
  • std::setfill('0'): (Pilihan) Isi ruang kosong dengan aksara yang ditentukan ('0' dalam kes ini).

Sumber Tambahan:

Untuk dokumentasi komprehensif tentang pemformatan std::ostream, rujuk kepada sumber berikut:

  • [std::ostream formatting](https://en.cppreference.com/w/cpp/io/manipulators) pada cppreference.com
  • [std::ostream](https://www.learncpp.com/cpp-tutorial/formatted-output-with-io-manipulators/) di learncpp.com

Atas ialah kandungan terperinci Bagaimana untuk Mencapai Pemformatan Titik Terapung yang Tepat dengan std::ostream?. 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