Rumah > Artikel > pembangunan bahagian belakang > 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:
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('_') << setprecision(2) << showpos << b << endl; cout << setprecision(9) << scientific << uppercase << noshowpos << c << endl; } int main() { solve(256.367, 5783.489, 12.5643295643); return 0; }
256.367, 5783.489, 12.5643295643
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!