回答
這不是宏的作用format!
。這個選項應該由Rust處理。不幸的是,我的搜索引導我得出Rust不能處理區域設置的結論(但?)。
有一個庫rust-locale,但他們仍然在阿爾法。
Rust標準庫中不支持國際化(i18n)或本地化(l10n)。
有幾個原因,沒有特定的順序:
- 一個區域設置相關的輸出應該是一個有意識的選擇,而不是默認的,
- 國際化和本地化的絕不僅僅是更復雜格式化數字,
- Rust std的目標是小。
format!
機器將用於編寫JSON或XML文件。根據編碼它的機器的區域設置,您真的不希望最終得到格式不同的文件。這是一個災難的祕訣。
在運行時檢測語言環境也是優化不友好的。突然間你不能在編譯時(甚至是部分)預先計算東西,你甚至不知道在編譯時要分配哪個緩衝區大小。
這與可疑的有用性有關。日期和數字可以說是非常重要的,但是這個美國與英國格式的戰爭最終是海洋中的一個下降。一個法國語法小學生肯定會理解,這個數字的格式是典型的法國格式......但如果周圍的文本是英文的(我們法語在教/學外語方面差了很多),這對她來說無濟於事。區域設置應該影響語言選擇,排序順序,等等......僅僅改變數字的格式是沒有意義的,一切應該對其進行開關操作,這就需要更爲嚴重支持(檢查gettext
一個C庫,提供了良好的基礎)。
在主機語言環境中檢測到語言環境,並且它在整個過程中是全局的,這也是在這個多線程Web服務器時代可疑的架構選擇。想象一下,如果Facebook僅僅因爲其數據中心在歐洲運行而在歐洲以瑞典服務的話。
最後,所有這些語言/日期/ ...支持需要大量的數據。 ICU有幾十個(或者是幾百?)嵌入其中的這種數據的MB。這將使std
的大小爆炸,並使其完全不適合嵌入式開發;無論如何,這可能並不關心。
當然,如果您只選擇支持少數幾種語言,那麼您可以大幅減少這個數量...這是將此置於標準庫之外的另一個參數。
當然,但是OP並沒有提到'std':可能會有一些國際化的正式外部機構,由鐵鏽團隊烘焙。你是正確的國際海事組織關於*不*將這些東西放在'std'中,但是要用現代語言開發,這必須存在某個地方。 – Boiethios
@Boiethios:我聽到你......但是SO格式不利於推薦庫不幸。最值得注意的是因爲答案中的慣性,這意味着從現在開始的2年,最高的答案可能指的是一個死去的圖書館(這就是要求這樣的參考文獻的問題被關閉的原因)。因此,我傾向於將自己侷限於解釋爲什麼標準庫不提供它;這可以讓OP免費購物,而不是嘗試等待std解決方案(在crates.io上搜索「locale」,在IRC/Reddit /用戶論壇上提問)。 –
你是對的。當我回答某些問題時,我會考慮這個問題。 – Boiethios
- 1. 更改小數點分隔符與式
- 2. 使用小數點分隔符在XAML中格式化值?
- 3. 格式化數字/字符串與小數點分隔符
- 4. 更改小數點分隔符
- 5. 更改小數點分隔符
- 6. 如何用awk/sed更改小數點分隔符?
- 7. 如何用「。」格式化數字。作爲千位分隔符,而「,」作爲小數點分隔符?
- 8. 如何格式小數點前導零和沒有分隔符?
- 9. 如何在bash中更改printf命令中的小數點分隔符?
- 10. 如何在Rails的參數化中更改分隔符
- 11. 在Android中使用錯誤的小數點分隔符格式化貨幣
- 12. 更改語言環境不會更改小數點分隔符
- 13. 如何格式化不帶分隔符和小數位的小數?
- 14. 更改VBA中的小數點分隔符
- 15. 更改MySQL中的小數點分隔符
- 16. 如何將double值格式化爲小數點後兩位小數,分隔符數爲幾千的字符串?
- 17. AngularJS:貨幣格式。更改分數大小,千分位分隔符和分數分隔符
- 18. Excel分隔點更改爲小數位
- 19. 千位分隔符在數字格式化後不應該允許使用小數點分隔符
- 20. 如何格式化不以分隔符分隔的值文件?
- 21. BIRT - 更改小數點分隔符 - 句點v/s逗號
- 22. 如何指定小數點分隔符
- 23. 如何獲得小數點分隔符?
- 24. 更改SQL小數分隔符
- 25. VBA字 - 更改小數分隔符
- 26. 格式漂浮在蟒蛇也小數點分隔符之前
- 27. 修改小數點和千位分隔符不改變小數
- 28. 如何在GridView中將點設置爲小數點分隔符?
- 29. 如何在Rust中創建一個格式化的字符串?
- 30. 如何格式化數字,沒有分組分隔符
可能重複的[Rust:print/format number with thousand separator](https://stackoverflow.com/questions/26998485/rust-print-format-number-with-thousand-separator) – ljedrz
@ljedrz不,這個OP明確要求浮動號碼。你的問題是關於整數。 – Stargateur
這個問題的答案也包含花車,但你是對的;這個問題並不完全重複。 – ljedrz