Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Program C++ untuk mencetak nilai dalam format tertentu

Program C++ untuk mencetak nilai dalam format tertentu

王林
王林ke hadapan
2023-09-03 12:33:08988semak imbas

Program C++ untuk mencetak nilai dalam format tertentu

Andaikan kita mempunyai tiga nilai ganda. Kita perlu memformat dan mencetaknya seperti berikut.

  • Kita perlu mencetak bahagian integer nilai pertama dalam format heksadesimal huruf kecil.

  • Kita perlu mencetak nilai kedua hingga dua tempat perpuluhan dan menambahnya dengan tanda untuk menunjukkan sama ada ia positif atau negatif. Nilai kedua yang akan dicetak mestilah dibenarkan dengan betul, panjang 15 aksara dan digariskan dalam kedudukan yang tidak digunakan di sebelah kiri.

  • Kita perlu mencetak nilai ketiga dalam tatatanda saintifik dengan sembilan tempat perpuluhan.

Jadi jika input ialah 256.367, 5783.489, 12.5643295643, outputnya ialah

0x100
_______+5783.49
1.256432956E+01

Untuk menyelesaikan masalah ini kita akan mengikuti langkah-langkah berikut:

    tunjuk nilai bendera dalam format hex
  • flag to base memaparkan awalan '0x' untuk nilai perenambelasan, bendera kiri memasukkan aksara padding dalam medan output untuk melapik nilai ke kanan, dan bendera nouppercase mencetak output dalam huruf kecil.

  • bendera kanan memasukkan aksara pad dalam medan output untuk melapik nilai ke kiri, bendera tetap mencetak nilai dalam tatatanda titik tetap, set(15) menetapkan panjang medan output kepada 15, bendera showpos memasukkan '+ sebelum simbol output ', setfill('_') mengisi output dengan garis bawah, dan setprecision() menetapkan ketepatan nilai kepada 2 tempat perpuluhan.

  • setprecision() menetapkan ketepatan nilai kepada 9 tempat perpuluhan, bendera saintifik mencetak nilai dalam tatatanda saintifik, huruf besar menjadikan nilai output huruf besar, dan noshowpos meninggalkan sebarang tanda positif sebelum nilai output.

Mari lihat pelaksanaan di bawah untuk pemahaman yang lebih baik:

#include <iostream>
#include <iomanip>
using namespace std;

void solve(double a, double b, double c) {
   cout << hex << showbase << nouppercase << left << (long long) a << endl;
   cout << right << fixed << setw(15) << setfill(&#39;_&#39;) << setprecision(2) << showpos << b << endl;
   cout << setprecision(9) << scientific << uppercase << noshowpos << c << endl;
}
int main() {
   solve(256.367, 5783.489, 12.5643295643);
   return 0;
}

Input

256.367, 5783.489, 12.5643295643

Output

0x100
_______+5783.49
1.256432956E+01

Atas ialah kandungan terperinci Program C++ untuk mencetak nilai dalam format tertentu. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam