代码地址如下:
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-格式化金额,三位一逗号相关推荐

  1. java 及 js 格式化金额 三位一撇(逗号)

    System.out.println(new DecimalFormat("#,###.00").format(22223.021)); //格式化金额 function outp ...

  2. php 逗号千分位,数字格式化每三位添加逗号千分位 - 文章教程

    有時候我个必需将数字加上每三个位数加上一个逗号,例如 20000 变成 20,000,目的是为了在方便财务上阅读,所以我整理了以下四种解決的方法: JavaScript 一个迂回函式 function ...

  3. php 数字加逗号,PHP数字格式化,数字每三位加逗号

    php实现数字格式化,数字每三位加逗号的功能函数,具体代码如下: function num_format($num){ if(!is_numeric($num)){ return false; } $ ...

  4. php 带逗号数字转换,php实现数字格式化,数字每三位加逗号的功能函数169856420=169,856,420...

    //php实现数字格式化,数字每三位加逗号的功能函数 //number_format("169856420"); 输出结果将为:169,856,420 public functio ...

  5. php如何每三位逗号分开,PHP 数字格式化,数字每三位加逗号的简单示例

    这篇文章主要为大家详细介绍了PHP 数字格式化,数字每三位加逗号的简单示例,具有一定的参考价值,可以用来参考一下. 对PHP数字格式化,数字每三位加逗号感兴趣的小伙伴,下面一起跟随512笔记的小编两巴 ...

  6. 数字加逗号函数PHP函数,php实现数字格式化,数字每三位加逗号的功能函数

    php实现数字格式化,数字每三位加逗号的功能函数 代码如下所示: function num_format($num){ if(!is_numeric($num)){ return false; } $ ...

  7. 金额的每三位一个逗号的正则解法

    在商城页面中我们经常会遇到需要每三位用逗号表示的时候,这时,用原生的js解决不够方便,此时可以使用正则表达式来进行快速替换 function transform (num){return num.to ...

  8. php每四位隔开,php数字每三位加逗号的功能函数

    php实现数字格式化,数字每三位加逗号的功能函数,具体代码如下: function num_format($num){ if(!is_numeric($num)){ return false; } $ ...

  9. (js)三位用逗号隔开,保留指定位小数(or 四舍五入取整)

    三位用逗号隔开,保留两位小数 //num 需要处理的数据//dight 保留的小数位handleNum(num,dight){//(1)保留指定位小数var dot = String(num).ind ...

最新文章

  1. App Store 申请审核加速
  2. python人工智能-Python和人工智能的关系,看完你就明白了!
  3. 特征工程(3):特征选择—信息增益
  4. Java利用QRCode.jar包实现二维码编码与解码
  5. 进程丶线程丶CPU关系简述
  6. Go mod 七宗罪
  7. 安装navicat之后双击就会闪退_Adobe 2020版本,安装教程来咯
  8. 牛客练习赛 56 E tarjan 割边
  9. sql语句中的in用法示例_示例中JavaScript in操作符
  10. PyQt4重写事件处理方法
  11. html表单文本转换,HTML表格中的垂直(旋转)文本
  12. 马里兰大学calce电池循环测试数据集_Keras-建立RNN(循环神经网络)
  13. sql2012 ssrs_您必须在SQL Server Reporting Services(SSRS)中记录的十件事
  14. navicat 不能正常启动
  15. 用STM32F103完成对SD卡的数据读取
  16. 易语言取计算机的ip,易语言怎样取IP物理地址
  17. HTML链接CSS的方法
  18. [808]There were errors checking the update sites: SSLHandshakeException: sun.secu解决方案
  19. 高桥盾react和boost_热门对比丨React pk Boost,你更偏向哪一双?
  20. SpringMVC+Vue实现前后端的志愿者招募网站

热门文章

  1. MFC 获取其他窗口的Edit文本和单击Button
  2. 3.c++模式设计-抽象工厂模式
  3. php rest api lumen,使用Lumen框架创建 REST API 实例教程
  4. 彻底学会Spring的IOC和AOP——理论+实操
  5. 嵌入式Linux系统编程学习之十六用程序发送信号
  6. 嵌入式Linux系统编程学习之十三信号概念
  7. 中文乱码java_JAVA中文乱码问题应该怎么解决?
  8. 解释java程序所使用的命令是,Java程序的执行原理以及解释说明
  9. 【LeetCode】【HOT】20. 有效的括号(栈)
  10. mysql的order by,group by和distinct优化