Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Memformat Nombor Titik Terapung dengan std::cout?

Bagaimana untuk Memformat Nombor Titik Terapung dengan std::cout?

Patricia Arquette
Patricia Arquetteasal
2024-10-30 02:27:291004semak imbas

How to Format Floating Point Numbers with std::cout?

Memformatkan Nombor Titik Terapung dengan std::cout

Soalan ini menangani cabaran memformat nombor titik terapung menggunakan std::cout, aliran keluaran asas dalam C . Pengguna menyatakan kekecewaan dengan pilihan pemformatan terhad yang tersedia melalui std::cout dan mempertimbangkan untuk menggunakan fungsi sprintf_s yang lebih bertele-tele. Mereka mencari rujukan komprehensif yang menyatukan keupayaan pemformatan untuk std::ostream.

Jawapan:

Mujurlah, std::cout menyediakan manipulator strim yang menawarkan pilihan pemformatan yang fleksibel untuk nombor titik terapung. Manipulator ini termasuk:

  • std::fixed: Menentukan tatatanda titik tetap dan bukannya tatatanda saintifik.
  • std::setw(width): Menetapkan lebar medan untuk output, berlapik ke kiri atau kanan dengan ruang.
  • std::setprecision(precision): Mengawal bilangan digit selepas titik perpuluhan.
  • std::setfill(character): Mengisi mana-mana kosong ruang dalam medan dengan aksara yang ditentukan.

Contoh:

Output yang dikehendaki bagi " 42.000000" boleh dicapai menggunakan kod berikut:

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

Nota Tambahan:

  • Manipulator std::fixed memastikan nombor itu diformatkan dengan nombor tetap tempat perpuluhan.
  • Manipulator std::setw dan std::setprecision mengawal lebar medan dan ketepatan, masing-masing.
  • Manipulator std::setfill boleh digunakan untuk mengisi ruang kosong dengan sifar atau mana-mana aksara lain yang dikehendaki.

Atas ialah kandungan terperinci Bagaimana untuk Memformat Nombor Titik Terapung dengan std::cout?. 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