iOS-格式化金额,三位一逗号
代码地址如下:
http://www.demodashi.com/demo/11244.html
项目版本更新迭代中, 新增需求: 所有金额必须用标准会计表示方式(¥94,862.57).
而之前金额展示仅仅天天人民币¥符号, 千位没有逗号, 仅仅拼接字符串就好 .
一.Demo截图
压缩文件截图:
项目截图:
二. 主要实现
由于项目中很多地方展现统计金额, 准备考虑封装下分类.
自定义金额的格式转化文件NSString+ZLMoney:
通过NSNumberFormatter,设置NSNumber输出的格式:
/*** 金额的格式转化* str : 金额的字符串* numberStyle : 金额转换的格式* return NSString : 转化后的金额格式字符串*/
+ (NSString *)stringChangeMoneyWithStr:(NSString *)str numberStyle:(NSNumberFormatterStyle)numberStyle {// 判断是否null 若是赋值为0 防止崩溃if (([str isEqual:[NSNull null]] || str == nil)) {str = 0;}NSNumberFormatter *formatter = [[NSNumberFormatter alloc]init];formatter.numberStyle = numberStyle;// 注意传入参数的数据长度,可用doubleNSString *money = [formatter stringFromNumber:[NSNumber numberWithDouble:[str doubleValue]]];return money;
}
NSNumberFormatter类有个属性numberStyle,是一个枚举型,设置不同的值可以输出不同的数字格式。该枚举包括:
/*** 94863* NSNumberFormatterNoStyle = kCFNumberFormatterNoStyle,* 94,862.57* NSNumberFormatterDecimalStyle = kCFNumberFormatterDecimalStyle, * ¥94,862.57* NSNumberFormatterCurrencyStyle = kCFNumberFormatterCurrencyStyle, * 9,486,257%* NSNumberFormatterPercentStyle = kCFNumberFormatterPercentStyle,* 9.486257E4* NSNumberFormatterScientificStyle = kCFNumberFormatterScientificStyle,* 九万四千八百六十二点五七* NSNumberFormatterSpellOutStyle = kCFNumberFormatterSpellOutStyle */
在所需控制器里调用测试,
“`
import “NSString+ZLMoney.h”
```
// 测试数据:
self.cost = @"94862.57";
// 一般标准金额格式¥94,862.57
costValue.text = [NSString stringChangeMoneyWithStr:self.cost];
// 选取枚举对应的金额数字格式
costValue.text = [NSString stringChangeMoneyWithStr:self.cost numberStyle:NSNumberFormatterCurrencyStyle];
测试效果:
NSLog(@"NSNumberFormatterNoStyle== %@", [NSString stringChangeMoneyWithStr:self.cost numberStyle:NSNumberFormatterNoStyle]);
NSLog(@"NSNumberFormatterDecimalStyle== %@", [NSString stringChangeMoneyWithStr:self.cost numberStyle:NSNumberFormatterDecimalStyle]);
NSLog(@"NSNumberFormatterCurrencyStyle== %@", [NSString stringChangeMoneyWithStr:self.cost numberStyle:NSNumberFormatterCurrencyStyle]);
NSLog(@"NSNumberFormatterPercentStyle== %@", [NSString stringChangeMoneyWithStr:self.cost numberStyle:NSNumberFormatterPercentStyle]);
NSLog(@"NSNumberFormatterScientificStyle== %@", [NSString stringChangeMoneyWithStr:self.cost numberStyle:NSNumberFormatterScientificStyle]);
NSLog(@"NSNumberFormatterSpellOutStyle== %@", [NSString stringChangeMoneyWithStr:self.cost numberStyle:NSNumberFormatterSpellOutStyle]);
三. 测试效果
打印效果如下:
模拟器中文状态下的人民币格式:
模拟器下美元格式:
具体可参考代码, 项目则能够直接运行!iOS-格式化金额,三位一逗号
代码地址如下:
http://www.demodashi.com/demo/11244.html注:本文著作权归作者,由demo大师发表,拒绝转载,转载需要作者授权
iOS-格式化金额,三位一逗号相关推荐
- java 及 js 格式化金额 三位一撇(逗号)
System.out.println(new DecimalFormat("#,###.00").format(22223.021)); //格式化金额 function outp ...
- php 逗号千分位,数字格式化每三位添加逗号千分位 - 文章教程
有時候我个必需将数字加上每三个位数加上一个逗号,例如 20000 变成 20,000,目的是为了在方便财务上阅读,所以我整理了以下四种解決的方法: JavaScript 一个迂回函式 function ...
- php 数字加逗号,PHP数字格式化,数字每三位加逗号
php实现数字格式化,数字每三位加逗号的功能函数,具体代码如下: function num_format($num){ if(!is_numeric($num)){ return false; } $ ...
- php 带逗号数字转换,php实现数字格式化,数字每三位加逗号的功能函数169856420=169,856,420...
//php实现数字格式化,数字每三位加逗号的功能函数 //number_format("169856420"); 输出结果将为:169,856,420 public functio ...
- php如何每三位逗号分开,PHP 数字格式化,数字每三位加逗号的简单示例
这篇文章主要为大家详细介绍了PHP 数字格式化,数字每三位加逗号的简单示例,具有一定的参考价值,可以用来参考一下. 对PHP数字格式化,数字每三位加逗号感兴趣的小伙伴,下面一起跟随512笔记的小编两巴 ...
- 数字加逗号函数PHP函数,php实现数字格式化,数字每三位加逗号的功能函数
php实现数字格式化,数字每三位加逗号的功能函数 代码如下所示: function num_format($num){ if(!is_numeric($num)){ return false; } $ ...
- 金额的每三位一个逗号的正则解法
在商城页面中我们经常会遇到需要每三位用逗号表示的时候,这时,用原生的js解决不够方便,此时可以使用正则表达式来进行快速替换 function transform (num){return num.to ...
- php每四位隔开,php数字每三位加逗号的功能函数
php实现数字格式化,数字每三位加逗号的功能函数,具体代码如下: function num_format($num){ if(!is_numeric($num)){ return false; } $ ...
- (js)三位用逗号隔开,保留指定位小数(or 四舍五入取整)
三位用逗号隔开,保留两位小数 //num 需要处理的数据//dight 保留的小数位handleNum(num,dight){//(1)保留指定位小数var dot = String(num).ind ...
最新文章
- App Store 申请审核加速
- python人工智能-Python和人工智能的关系,看完你就明白了!
- 特征工程(3):特征选择—信息增益
- Java利用QRCode.jar包实现二维码编码与解码
- 进程丶线程丶CPU关系简述
- Go mod 七宗罪
- 安装navicat之后双击就会闪退_Adobe 2020版本,安装教程来咯
- 牛客练习赛 56 E tarjan 割边
- sql语句中的in用法示例_示例中JavaScript in操作符
- PyQt4重写事件处理方法
- html表单文本转换,HTML表格中的垂直(旋转)文本
- 马里兰大学calce电池循环测试数据集_Keras-建立RNN(循环神经网络)
- sql2012 ssrs_您必须在SQL Server Reporting Services(SSRS)中记录的十件事
- navicat 不能正常启动
- 用STM32F103完成对SD卡的数据读取
- 易语言取计算机的ip,易语言怎样取IP物理地址
- HTML链接CSS的方法
- [808]There were errors checking the update sites: SSLHandshakeException: sun.secu解决方案
- 高桥盾react和boost_热门对比丨React pk Boost,你更偏向哪一双?
- SpringMVC+Vue实现前后端的志愿者招募网站
热门文章
- MFC 获取其他窗口的Edit文本和单击Button
- 3.c++模式设计-抽象工厂模式
- php rest api lumen,使用Lumen框架创建 REST API 实例教程
- 彻底学会Spring的IOC和AOP——理论+实操
- 嵌入式Linux系统编程学习之十六用程序发送信号
- 嵌入式Linux系统编程学习之十三信号概念
- 中文乱码java_JAVA中文乱码问题应该怎么解决?
- 解释java程序所使用的命令是,Java程序的执行原理以及解释说明
- 【LeetCode】【HOT】20. 有效的括号(栈)
- mysql的order by,group by和distinct优化