数字(金额)的格式化
一. 常规的格式化
//创建一个NumberFormatter对象
let format = NumberFormatter()
//设置numberStyle(有多种格式)
format.numberStyle = .decimal
let string = format.string(from: NSNumber(value: 1234567.89))
print(string)//显示样式和输出样式
numberStyle:
public enum Style : UInt { case none //1234567.89case decimal //1,234,567.89case currency //¥1,234,567.89case percent //123,456,789%case scientific //1.23456789E6case spellOut //一百二十三万四千五百六十七点八九@available(iOS 9.0, *)case ordinal //第123,4568@available(iOS 9.0, *)case currencyISOCode //CNY1,234,567.89@available(iOS 9.0, *)case currencyPlural//1,234,567.89人民币@available(iOS 9.0, *)case currencyAccounting//¥1,234,567.89}
参考链接:https://blog.csdn.net/C_calary/article/details/52895762
二. 复杂要求的格式化
- 设置格式宽度、填充符、填充位置
// 原始值
let number = NSNumber(value: 12345.6789)//创建一个NumberFormatter对象
let numberFormatter = NumberFormatter()
//设置number显示样式
numberFormatter.numberStyle = .none //四舍五入的整数
numberFormatter.formatWidth = 10 //位数补齐10位
numberFormatter.paddingCharacter = "0" //不足位数用0补(也可以用空格或者其他的补齐)
numberFormatter.paddingPosition = .beforePrefix //补在前面
let format = numberFormatter.string(from: number)!//打印结果
print("原始值 = \(number)")
print("格式化结果 = \(format)")
运行结果图片:
- 设置前缀、后缀
(1) 使用positivePrefix和positiveSuffix的格式
// 原始值
let number = NSNumber(value: 12345.6789)// 创建一个NumberFormatter对象
let numberFormatter = NumberFormatter()
// 设置number显示样式
numberFormatter.numberStyle = .none //四舍五入的整数
numberFormatter.positivePrefix = "$" //自定义前缀
numberFormatter.positiveSuffix = "元" //自定义后缀
let format = numberFormatter.string(from: number)!// 打印结果
print("原始值 = \(number)")
print("格式化结果 = \(format)")
运行结果图片:
(2) 使用positiveFormat格式,参照「(3)设置格式化字符串」也可以达到设置前缀后缀的目的
- 设置格式化字符串
// 原始值
let number = NSNumber(value: -12345.6789)// 创建一个NumberFormatter对象
let numberFormatter = NumberFormatter()
//设置number显示样式
numberFormatter.positiveFormat = "¥###,###.##"
let format = numberFormatter.string(from: number)!// 打印结果
print("原始值 = \(number)")
print("格式化结果 = \(format)")
运行结果图片:
参考链接:https://www.hangge.com/blog/cache/detail_2086.html#
数字(金额)的格式化相关推荐
- Java 数字金额,字符串格式化
目录 一. 数字金额格式化 1.1 千位分隔符 1.2 保留整数 1.3 保留指定位小数 二. 字符串格式化 一. 数字金额格式化 1.1 千位分隔符 BigDecimal bigDecimal = ...
- vue格式化数字为财务数字金额
vue格式化数字为财务数字金额 效果 1.在项目的src文件夹下新建filters文件夹,里面新建filters.js文件 2.在filters.js添加如下代码(下面介绍4种实现方式,推荐使用方法三 ...
- js和 ts 将大数字金额转换成带单位的数字金额,万,千万,亿,格式化金额数字,格式化成带单位的金额,附ts版代码
js将大数字金额转换成带单位的数字金额,万,千万,亿, 第一个参数是在转换的数字, 第二个参数是返回的格式 不传第二个参数,返回数字和单位分开的,数组格式,传第二个参数后,返回数组和单位的字符串,这样 ...
- Java 将数字金额转成中文大写
一个 Java 将数字金额转成中文大写的工具类,还不是很完善. import java.util.regex.Matcher; import java.util.regex.Pattern;publi ...
- C语言 阿拉伯数字转换为汉语大写数字金额程序分析及源码
C语言 阿拉伯数字转换为汉语大写数字金额程序分析及源码 数据结构:用一个整型变量储存输入数字 大家可能会感觉用字符串取位更方便一些·· 但是相应的,字符串失去了数字原有的意思 00100和100对 ...
- java数字金额大写金额_Java实现 “ 将数字金额转为大写中文金额 ”
前言: 输入数字金额参数,运行程序得到其对应的大写中文金额:例如:输入 12.56,输出 12.56 : 壹拾贰元伍角陆分:重点来了:本人亲测有效. 奉上代码: /** * @Title: Conve ...
- 数字金额转换为大写人民币汉字
// 数字金额转换为大写人民币汉字convertCurrency (money) {// 汉字的数字var cnNums = ['零', '壹', '贰', '叁', '肆', '伍', '陆', ' ...
- JS将数字金额转换为大写人民币汉字
转载自 qubernet 博客 JS将数字金额转换为大写人民币汉字 function convertCurrency(money) {//汉字的数字var cnNums = new Array('零' ...
- 数字金额转换大写 先写个完整的然后将如零拾替换成零
/*** 数字金额转换大写 先写个完整的然后将如零拾替换成零* @param n 数字* @return 中文大写数字*/public static String digitUppercase(dou ...
最新文章
- 动态规划之01 背包---Hd2602 Bone Collector
- GDCM:Torture的测试程序
- (备忘)打开office2010总是在配置进度
- python正十三边形_一起学python-opencv十三(直方图反向投影和模板匹配)
- linux多级反馈队列的实现,多级反馈队列调度算法的实现
- bzoj4850 [JSOI2016]灯塔
- Puppet基础篇5-如何建立master和agent之间的认证关系
- +搭建“记忆宫殿”的三款思维导图神器
- 关系抽取综述及相关顶会论文介绍
- 学会System Generator(19)增量调制(DM)编码解码
- HTML-错误页面介绍
- 景点评论爬虫之微博爬虫和携程爬虫
- 如何检测ajax完成且是成功的,检测ajax调用是否成功
- 优动漫PAINT入门小知识——拾色器功能
- Android 修改保持WLAN热点开启的时间与最大连接数
- 学习三部曲:WHAT、HOW、WHY
- windows xp 打开文件夹慢的解决
- 在windows和Deepin上安装Fedora33-KDE:一波三折、第九次成功的嘤嘤怪
- OpenHarmony介绍及相关资料
- Java|Joda-Time简化时间处理利器
热门文章
- 谷歌或收购“半条命”更新程序作者
- 孤独的7 虫蚀算-穷举法
- C语言学习,VScode下载、安装、环境变量配置、编写调试hello word
- AI应届博士生年薪八十万,贵吗?
- Android推送、智能心跳解决方案、手机休眠对心跳的影响
- 在vs中无法将文件 “文件” 复制到文件 “文件” ,“错误” 问题所在
- Python中使用PyQt5创建的窗口添加全局快捷键(鼠标离开窗口时也可执行)
- Ubuntu16.04编译Android8.0系统源码,并刷机 (Pixel XL)
- 【原创】用思维导图写测试点的几点说明
- Unhandled exception in ***.exe(OLE32.DLL):0xC0000005:Access Violation解决办法