你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
首页
热门
推荐
精选
登录
|
注册
iOS-格式化金额,三位一逗号
立即下载
用AI写一个
金额:
1
元
支付方式:
友情提醒:源码购买后不支持退换货
立即支付
我要免费下载
发布时间:2017-08-17
8人
|
浏览:6127次
|
收藏
|
分享
技术:Object-C
运行环境:iOS
概述
金额用标准会计表示方式(¥94,862.57)
详细
项目版本更新迭代中, 新增需求: 所有金额必须用标准会计表示方式(**¥94,862.57**). 而之前金额展示仅仅天天人民币¥符号, 千位没有逗号, 仅仅拼接字符串就好 . ##一.Demo截图 压缩文件截图: ![](/contentImages/image/20170817/tUCWEEgKhFFU44ZkNkL.jpg) 项目截图: ![](/contentImages/image/20170817/ZyhR20MmrA9yeuESIIe.jpg) ##二. 主要实现 由于项目中很多地方展现统计金额, 准备考虑封装下分类. **自定义金额的格式转化文件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]); ``` ##三. 测试效果 打印效果如下: 模拟器中文状态下的人民币格式: ![](/contentImages/image/20170817/dbKhpEdWTsqmVcVGQIX.png) 模拟器下美元格式: ![](/contentImages/image/20170817/3BjFES6TtIZpa8aYDVP.png) 具体可参考代码, 项目则能够直接运行!
本实例支付的费用只是购买源码的费用,如有疑问欢迎在文末留言交流,如需作者在线代码指导、定制等,在作者开启付费服务后,可以点击“购买服务”进行实时联系,请知悉,谢谢
感谢
0
手机上随时阅读、收藏该文章 ?请扫下方二维码
相似例子推荐
评论
作者
smile丽语
33
例子数量
697
帮助
33
感谢
评分详细
可运行:
4.5
分
代码质量:
4.5
分
文章描述详细:
4.5
分
代码注释:
4.5
分
综合:
4.5
分
作者例子
iOS仿支付宝芝麻信用仪表盘效果
iOS-夜间模式(换肤设置)
iOS-自定义起始时间选择器视图
iOS-仿支付宝刮刮乐效果
iOS-各种动画特效
iOS-高仿通讯录之商品索引排序搜索
iOS-APP启动页加载广告
iOS-启动动态页跳过设计思路
TouchID 指纹解锁
iOS-高仿支付宝手势解锁(九宫格)
iOS-高仿微信摇一摇动画效果加震动音效
3DTouch - iOS新特性
iOS-仿京东6位密码支付输入框
iOS- 非整星的评分控件(支持小数)
iOS-按钮单选与多选逻辑处理
iOS- 快速实现展示布局
iOS开发之复制字符串到剪贴板
iOS点击获取短信验证码按钮
iOS利用SDWebImage实现缓存的计算与清理
利用 AFN 上传相册或拍照图片
iOS自定义从底部弹上来的View
iOS支付宝支付集成
iOS微信支付集成
富文本处理NSMutableAttributedString
iOS-仿智联字符图片验证码
iOS活动倒计时的两种实现方式
iOS-格式化金额,三位一逗号
iOS-使用添加的花样字体
iOS-仿支付宝加载web网页添加进度条
iOS-贝塞尔曲线之自定义饼图