2010-07-30 106 views

回答

9

基本的目的是本地化應用程序。例如,在美國,大量帶有小數點的分隔符通常會寫成:「1,234.56」。在歐洲大部分地區,相同的數字通常會寫成:「1.234,56」。

語言環境允許您將有關此類格式(以及其他國家/地區,語言,文化等因素)的信息隔離到一個地方。例如,我可以使用:

std::locale loc(""); 
std::cout.imbue(loc); 

std::cout << 1234.56; 

未命名的區域(「」)是特殊的:它會自動挑選出任何區域的用戶已經配置。當我運行這個代碼時,我得到的輸出是:「1,234.56」。其他人可以運行完全相同的代碼,但如果他們的環境配置爲其他約定,則可能會得到「1.234,56」或「1 234,56」等。

因此,大部分語言環境購買我們(在這種情況下)正在編寫一個單獨的數字,以便爲特定的受衆適當地設置數字格式。當然,語言環境有許多「方面」,每個方面都涵蓋了單獨的......本地化方面,如格式化數字,格式化貨幣,確定小寫或大寫字母等。 。