回答
簡短的回答:
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. 格式化貨幣
- 3. 格式化貨幣
- 4. C#格式貨幣
- 5. C#貨幣格式
- 6. 將貨幣格式化爲asp.net mvc c中的貨幣#
- 7. ICU自定義貨幣格式化(C++)
- 8. C#從數據庫格式化貨幣
- 9. 貨幣格式化問題
- 10. 格式化貨幣輸出
- 11. ASP.net ListBox貨幣格式化
- 12. 格式化AED貨幣
- 13. SQL貨幣格式化
- 14. 貨幣格式化語言?
- 15. SQL to_char貨幣格式化
- 16. Rails貨幣格式化
- 17. Java的貨幣格式化:強制使用的貨幣符號
- 18. 使用動態貨幣符號進行貨幣格式化
- 19. 格式貨幣
- 20. 貨幣格式
- 21. 貨幣格式
- 22. 使用javascript格式化貨幣
- 23. 使用Python格式化貨幣
- 24. 如何使用DecimalFormat格式化貨幣?
- 25. 印度貨幣的PHP貨幣格式?
- 26. 將貨幣格式化爲字符串時指定貨幣
- 27. 如何將貨幣格式化爲近似美元的貨幣?
- 28. 格式化像貨幣,但沒有貨幣符號(C#)的雙精度值
- 29. ZF2貨幣格式
- 30. 貨幣格式laravel
您的意思是1,978,897? – tibur 2011-06-16 14:26:33
他所做的與使用德語格式規則的功能相同。 – Sven 2011-06-16 14:27:14
看看''標題和文檔。 –
2011-06-16 14:27:26