今天有一個(gè)網(wǎng)友問(wèn)我如何講double轉(zhuǎn)成string,然后添加千位符,隨后他把他的方法發(fā)給我看了,這一看我的眼鏡差點(diǎn)掉地上。

網(wǎng)友的方法
當(dāng)時(shí)我心里一驚:有幾個(gè)質(zhì)疑:
1.這方法能添加千位符嗎?
2.guard是這樣使用的嗎?
我們來(lái)仔細(xì)分析這一段代碼存在的問(wèn)題:
要格式化成千位符字符串的是Double類型的數(shù)據(jù),我們應(yīng)該對(duì)Double類型擴(kuò)展;
變量命名比較混亂,已經(jīng)存在price了,還是用price=price
最重要的是沒(méi)有實(shí)現(xiàn)加‘千位符’的功能
那我們已經(jīng)知道問(wèn)題所在了,就知道如何入手去寫(xiě)了

正確的姿勢(shì)1
調(diào)用的方法如下:

正確的姿勢(shì)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è)置語(yǔ)言國(guó)際化之后完全依靠系統(tǒng)設(shè)置的語(yǔ)言和區(qū)域格式,當(dāng)語(yǔ)言和區(qū)域格式為中文時(shí),輸出入上所述。

配置語(yǔ)言和區(qū)域格式
以上兩種方式的輸出需要根據(jù)自己的需求選擇哪種方式,根據(jù)自己的業(yè)務(wù)需求選擇即可。