今天有一個網友問我如何講double轉成string,然后添加千位符,隨后他把他的方法發給我看了,這一看我的眼鏡差點掉地上。
網友的方法
當時我心里一驚:有幾個質疑:
1.這方法能添加千位符嗎?
2.guard是這樣使用的嗎?
我們來仔細分析這一段代碼存在的問題:
要格式化成千位符字符串的是Double類型的數據,我們應該對Double類型擴展;
變量命名比較混亂,已經存在price了,還是用price=price
最重要的是沒有實現加‘千位符’的功能
那我們已經知道問題所在了,就知道如何入手去寫了
正確的姿勢1
調用的方法如下:
正確的姿勢2
輸出為:formatter price CN¥2,345,654,345.00?
當locale設置為en_CN時,輸出多了一個CN兩個字母
當locale設置為current時,輸出為formatter price ?¥2,345,654,345.00。需要注意的是,該輸出需要設置語言國際化之后完全依靠系統設置的語言和區域格式,當語言和區域格式為中文時,輸出入上所述。
配置語言和區域格式
以上兩種方式的輸出需要根據自己的需求選擇哪種方式,根據自己的業務需求選擇即可。