今天有一個(gè)網(wǎng)友問我如何講double轉(zhuǎn)成string,然后添加千位符,隨后他把他的方法發(fā)給我看了,這一看我的眼鏡差點(diǎn)掉地上。
網(wǎng)友的方法
當(dāng)時(shí)我心里一驚:有幾個(gè)質(zhì)疑:
1.這方法能添加千位符嗎竟贯?
2.guard是這樣使用的嗎?
我們來仔細(xì)分析這一段代碼存在的問題:
要格式化成千位符字符串的是Double類型的數(shù)據(jù)逝钥,我們應(yīng)該對Double類型擴(kuò)展屑那;
變量命名比較混亂,已經(jīng)存在price了艘款,還是用price=price
最重要的是沒有實(shí)現(xiàn)加‘千位符’的功能
那我們已經(jīng)知道問題所在了持际,就知道如何入手去寫了
正確的姿勢1
調(diào)用的方法如下:
正確的姿勢2
輸出為:formatter price CN¥2,345,654,345.00?
當(dāng)locale設(shè)置為en_CN時(shí),輸出多了一個(gè)CN兩個(gè)字母
當(dāng)locale設(shè)置為current時(shí)磷箕,輸出為formatter price ?¥2,345,654,345.00选酗。需要注意的是,該輸出需要設(shè)置語言國際化之后完全依靠系統(tǒng)設(shè)置的語言和區(qū)域格式岳枷,當(dāng)語言和區(qū)域格式為中文時(shí)芒填,輸出入上所述呜叫。
配置語言和區(qū)域格式
以上兩種方式的輸出需要根據(jù)自己的需求選擇哪種方式,根據(jù)自己的業(yè)務(wù)需求選擇即可殿衰。