今天有一个网友问我如何讲double转成string,然后添加千位符,随后他把他的方法发给我看了,这一看我的眼镜差点掉地上。

当时我心里一惊:有几个质疑:
1.这方法能添加千位符吗?
2.guard是这样使用的吗?
我们来仔细分析这一段代码存在的问题:
要格式化成千位符字符串的是Double类型的数据,我们应该对Double类型扩展;
变量命名比较混乱,已经存在price了,还是用price=price
最重要的是没有实现加‘千位符’的功能
那我们已经知道问题所在了,就知道如何入手去写了

调用的方法如下:

输出为:formatter price CN¥2,345,654,345.00
当locale设置为en_CN时,输出多了一个CN两个字母
当locale设置为current时,输出为formatter price ¥2,345,654,345.00。需要注意的是,该输出需要设置语言国际化之后完全依靠系统设置的语言和区域格式,当语言和区域格式为中文时,输出入上所述。

以上两种方式的输出需要根据自己的需求选择哪种方式,根据自己的业务需求选择即可。
网友评论