Swift给Double添加千位符

今天有一个网友问我如何讲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。需要注意的是,该输出需要设置语言国际化之后完全依靠系统设置的语言和区域格式,当语言和区域格式为中文时,输出入上所述。


配置语言和区域格式

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 12,804评论 6 13
  • 在JavaSe5中,推出了C语言中printf()风格的格式化输出。这不仅使得控制输出的代码更加简单,同时也给与J...
    三藏君阅读 872评论 0 0
  • longaaaa =14200666; Console.WriteLine(aaaa.ToString("N0")...
    鱼落于天阅读 1,067评论 0 1
  • MySQL5.6从零开始学 第一章 初始mysql 1.1数据库基础 数据库是由一批数据构成的有序的集合,这些数据...
    星期四晚八点阅读 1,249评论 0 4
  • 你就是临在 就是本体 你一直觉醒着 只是忘了 呼吸 身体 此刻 蓝天 微风 映在了湖面上 ...
    灶心土阅读 577评论 0 2

友情链接更多精彩内容