如何讓cout不自動識別數據類型輸出,而去按照指定的數據類型輸出?

例如printf能通過各式字元串指定輸出數字還是字元,在cout中如何做到?

例如:

float a = 1.234;

printf("%d", a);

用cout書和實現「%d」的方式輸出float a?


好老的問題啊……

std::cout &<&< *((int*)(a));

就是這樣,騙過編譯器。少一些蛋疼,你也可以寫

std::cout &<&< (int)a;


std::cout &<&< std::setprecision (15) &<&< 3.14159265358979 &<&< std::endl;

c++ - How do I print a double value with full precision using cout?

通常來講,你要什麼需求的話,std就會有一個格式化函數給你用。


現在的年輕人怎麼連強轉都不會了……

直接 cout &<&< (int)a &<&< endl;就完了


要我說直接用printf多省事。。


進行強制類型轉換。


推薦閱讀:

程序函數條件與返回的區別?
Python 使用 list 作為函數參數時,參數是否會初始化?
怎麼去實現一個簡單文本編輯器?
使用IDE會不會降低程序員的智商?
怎樣才能做到編程語言的「一通百通」?

TAG:編程語言 | 編程 | C | CC |