回答
簡短的回答:
int value = 1978879;
std::cout.imbue(std::locale(""));
std::cout << value << std::endl;
語言環境負責的格式。任何流都可以充滿語言環境;默認情況下它們使用全局區域設置,默認情況下是不使用任何數千個分隔符的「C」區域設置。通過創建一個空字符串作爲參數的區域設置實例,我們使用用戶的區域設置,在您的情況下可能是瑞士的。
您也可以指定明確的區域設置名稱,但根據您的平臺(Linux/Windows)名稱不同,並非所有系統都支持所有區域設置。
如果你想獲得一個字符串,最簡單的方法可能是使用一個字符串流(從<sstream>
頭):
std::ostringstream stream;
stream.imbue(std::locale(""));
stream << value;
std::string stringValue = stream.str();
雖然你也可以直接使用的語言環境的方面,但是這更復雜。
您還可以設置全局區域設置,將所有流都可以使用(除非他們特別用不同的語言環境充滿):
std::locale::global(std::local(""));
完美!感謝您的幫助 – pasta 2011-06-16 14:45:30
當您完成開發並準備發佈時,您應該做的第一件事就是添加'std :: locale :: global(std :: local(「」));'因爲第一個語句是main。然後再測試一次。 – 2011-06-16 16:38:01
設置區域設置後,可以使用'cout << put_money(value)'確保使用正確的貨幣格式。這確實假設「價值」是以貨幣的最小單位給出的,例如,美分或急劇,所以你可能要乘以100的價值。 – 2014-03-05 03:10:50
- 1. 未格式化貨幣格式貨幣
- 2. C#貨幣格式化(「C2」)
- 3. 格式化貨幣
- 4. 格式化貨幣
- 5. 格式化貨幣
- 6. 貨幣格式C++
- 7. C#貨幣格式
- 8. C#格式貨幣
- 9. C#格式十進制貨幣/貨幣
- 10. 將貨幣格式化爲asp.net mvc c中的貨幣#
- 11. ICU自定義貨幣格式化(C++)
- 12. C#從數據庫格式化貨幣
- 13. C++中的貨幣格式化
- 14. Kendo UI貨幣格式化
- 15. 格式化AED貨幣
- 16. 格式化貨幣輸出
- 17. SQL貨幣格式化
- 18. ASP.net ListBox貨幣格式化
- 19. 貨幣格式化語言?
- 20. 貨幣格式化MVC
- 21. SQL to_char貨幣格式化
- 22. 貨幣格式化問題
- 23. Rails貨幣格式化
- 24. c中的貨幣格式#
- 25. 以特定格式格式化貨幣
- 26. 使用動態貨幣符號進行貨幣格式化
- 27. Java的貨幣格式化:強制使用的貨幣符號
- 28. 格式貨幣
- 29. 貨幣格式
- 30. 貨幣格式
您的意思是1,978,897? – tibur 2011-06-16 14:26:33
他所做的與使用德語格式規則的功能相同。 – Sven 2011-06-16 14:27:14
看看''標題和文檔。 –
2011-06-16 14:27:26