Saya ingin cout
menampilkan int dengan nol di depan, sehingga nilainya 1
akan dicetak sebagai 001
dan nilai 25
dicetak sebagai 025
. Bagaimana saya bisa melakukan ini?
c++
formatting
cout
jamieQ
sumber
sumber
Jawaban:
Dengan berikut ini,
hasilnya akan
setfill
diatur ke karakter spasi (' '
) secara default.setw
mengatur lebar bidang yang akan dicetak, dan hanya itu.Jika Anda tertarik mengetahui cara memformat stream output secara umum, saya menulis jawaban untuk pertanyaan lain, semoga bermanfaat: Memformat C ++ Output Konsol.
sumber
char* or char[]
) untuk tidak konsol langsung. Sebenarnya saya sedang menulis fungsi yang mengembalikan string yang diformat<iostream>
dan<iomanip>
di bagian atas file Anda, dan Anda harus menulisusing namespace std;
, tapi itu praktik yang buruk jadi mungkin Anda harus mengawali ketiga pengidentifikasi dalam jawaban inistd::
.Cara lain untuk mencapai ini adalah menggunakan
printf()
fungsi bahasa C yang lamaAnda bisa menggunakan ini seperti
Ini akan mencetak
09 - 01 - 0001
pada konsol.Anda juga dapat menggunakan fungsi lain
sprintf()
untuk menulis keluaran yang diformat ke string seperti di bawah ini:Jangan lupa untuk memasukkan
stdio.h
file header di program Anda untuk kedua fungsi iniHal yang perlu diperhatikan:
Anda dapat mengisi ruang kosong dengan 0 atau dengan karakter lain (bukan angka).
Jika Anda menulis sesuatu seperti
%24d
format specifier daripada ini tidak akan mengisi2
ruang kosong. Ini akan mengatur pad ke24
dan akan mengisi ruang kosong.sumber
Ini menghasilkan output:
sumber
sumber
char* or char[]
) untuk tidak konsol langsung. Sebenarnya saya sedang menulis fungsi yang mengembalikan string yang diformatstd::stringstream
.sprintf(s, "%02d-%02d-%04d", dd, mm, yy);
manas
adalahchar*
dandd, mm, yy
adalah dariint
jenis. Ini akan menulis02-02-1999
format sesuai dengan nilai-nilai dalam variabel.Saya akan menggunakan fungsi berikut. Saya tidak suka
sprintf
; itu tidak melakukan apa yang saya inginkan !!sumber
Contoh lain untuk menampilkan tanggal dan waktu menggunakan nol sebagai karakter isi pada contoh nilai digit tunggal: 2017-06-04 18:13:02
sumber