第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

使用C ++輸出運(yùn)算符打印前導(dǎo)零?

使用C ++輸出運(yùn)算符打印前導(dǎo)零?

C++
拉風(fēng)的咖菲貓 2019-12-27 12:37:05
如何使用C ++格式化輸出?換句話說(shuō),C ++的等效用法是printf這樣的:printf("%05d", zipCode);我知道我只能printf在C ++中使用,但是我更喜歡output運(yùn)算符<<。您會(huì)使用以下內(nèi)容嗎?std::cout << "ZIP code: " << sprintf("%05d", zipCode) << std::endl;
查看完整描述

3 回答

?
江戶川亂折騰

TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超5個(gè)贊

至少對(duì)于問題中提到的非負(fù)數(shù)(a),例如郵政編碼(b),這將起到解決作用。


#include <iostream>

#include <iomanip>


using namespace std;

cout << setw(5) << setfill('0') << zipCode << endl;


// or use this if you don't like 'using namespace std;'

std::cout << std::setw(5) << std::setfill('0') << zipCode << std::endl;

控制填充的最常見的IO操作器是:


std::setw(width) 設(shè)置字段的寬度。

std::setfill(fillchar) 設(shè)置填充字符。

std::setiosflags(align) 設(shè)置對(duì)齊方式,其中align是ios :: left或ios :: right。

而且,僅根據(jù)您的喜好使用<<,我強(qiáng)烈建議您研究一下fmt庫(kù)。這是對(duì)我們用于格式化內(nèi)容的工具包的重要補(bǔ)充,并且比大量長(zhǎng)度的流管道要好得多,它允許您執(zhí)行以下操作:


cout << fmt::format("{:05d}", zipCode);

LEWG目前也將其針對(duì)C ++ 20,這意味著它有望在那時(shí)成為該語(yǔ)言的基礎(chǔ)部分(或者幾乎可以肯定的是,如果它不十分流行的話)。


(a)如果確實(shí)需要處理負(fù)數(shù),則可以使用std::internal以下方法:


cout << internal << setw(5) << setfill('0') << zipCode << endl;

這會(huì)將填充字符之間的符號(hào)和幅度。


(b)本人(“所有郵政編碼都不為負(fù)”)是我的假設(shè),但我認(rèn)為是一個(gè)相對(duì)安全的假設(shè):-)


查看完整回答
反對(duì) 回復(fù) 2019-12-27
?
慕桂英3389331

TA貢獻(xiàn)2036條經(jīng)驗(yàn) 獲得超8個(gè)贊

使用setw和setfill調(diào)用:


std::cout << std::setw(5) << std::setfill('0') << zipCode << std::endl;


查看完整回答
反對(duì) 回復(fù) 2019-12-27
?
九州編程

TA貢獻(xiàn)1785條經(jīng)驗(yàn) 獲得超4個(gè)贊

要么,


char t[32];

sprintf_s(t, "%05d", 1);

將輸出00001,因?yàn)镺P已經(jīng)想要做


查看完整回答
反對(duì) 回復(fù) 2019-12-27
  • 3 回答
  • 0 關(guān)注
  • 598 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)