iOS-格式化金额,三位一逗号
来源:互联网 发布:linux虚拟机kvm怎么用 编辑:程序博客网 时间:2024/06/14 03:11
项目版本更新迭代中, 新增需求: 所有金额必须用标准会计表示方式(¥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;
// 注意传入参数的数据长度,可用double
NSString *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]);
三. 测试效果
打印效果如下:
模拟器中文状态下的人民币格式:
模拟器下美元格式:
具体可参考代码, 项目则能够直接运行!
如需看详情版,请到这里下载,谢谢!
阅读全文
0 0
- iOS-格式化金额,三位一逗号
- php 格式化金额(每三位加一逗号)
- 格式化金额,每隔三位加逗号
- iOS-金额三位一撇
- 关于web开发金额每隔三位逗号格式化js
- js格式化数字(金额--每隔三位加逗号)
- 较长数字要格式化输出,逗号三位一分隔。
- 金额格式化加逗号
- js金额数字格式化实现代码(三位加逗号处理保留两位置小数)
- 格式化金额,每三位加逗号并保留两位小数
- 三位一逗号
- Java金额每隔三位加上一个逗号
- 数字金额每三位按逗号","拆分
- 金额三位一逗显示
- 关于数字的格式化显示[比如保留几位小数/三位一逗号分隔等等]
- 数据格式化之每三位添加逗号以及去掉逗号
- 金额数字字符串整数位每三位加个逗号
- js格式化金额.数字. 逗号分隔 ,##.00
- uva 670 The dog task
- VMware虚拟机桥接方式与真实主机共享上网
- OpenCV 2.4.9 +VS2013 开发环境配置
- 分布式集群系统下的高可用session解决方案
- 初学Spring Boot遇到Whitelabel Error Page的解决办法
- iOS-格式化金额,三位一逗号
- 关于实行和防止SSL剥离
- oracle数据库树状或者层次结果集的查询
- 关于文本分类方面的
- poj 3311 Hie with the Pie (floyd+状态压缩dp~)
- 第十一周项目一
- 第十一周项目4---利用遍历思想求解图问题(5)
- 定义一个图形类及其子类(三角形类和矩形类),分别计算其面积和周长。
- nrm --npm镜像管理工具