demo: 源码下载:http://xiazai./201709/yuanma/DMLimtDemo_jb51.rar

之前做电商类APP时,针对稍大的金额展示时,需要每隔千位添加逗号便于用户识别。
逻辑比较简单,这里按需要写了一个可选前后缀的一个转换方法:
#import "DMViewController.h"
@interface DMViewController ()
@property (weak, nonatomic) IBOutlet UITextField *titleText;
@property (weak, nonatomic) IBOutlet UILabel *numLab;
@end
@implementation DMViewController
- (IBAction)tapButtonAction:(id)sender {
UIButton *tempBut = (UIButton *)sender;
if (tempBut.isSelected) {
tempBut.selected = NO;
_numLab.text = @"label";
} else {
tempBut.selected = YES;
NSString *newNumber = [self separateNumberUseCommaWith:_titleText.text];
_numLab.text = newNumber;
}
}
// 将数字转为每隔3位整数由逗号“,”分隔的字符串
- (NSString *)separateNumberUseCommaWith:(NSString *)number {
// 前缀
NSString *prefix = @"¥";
// 后缀
NSString *suffix = @"元";
// 分隔符
NSString *divide = @",";
NSString *integer = @"";
NSString *radixPoint = @"";
BOOL contains = NO;
if ([number containsString:@"."]) {
contains = YES;
// 若传入浮点数,则需要将小数点后的数字分离出来
NSArray *comArray = [number componentsSeparatedByString:@"."];
integer = [comArray firstObject];
radixPoint = [comArray lastObject];
} else {
integer = number;
}
// 将整数按各个字符为一组拆分成数组
NSMutableArray *integerArray = [[NSMutableArray alloc] init];
for (int i = 0; i < integer.length; i ++) {
NSString *subString = [integer substringWithRange:NSMakeRange(i, 1)];
[integerArray addObject:subString];
}
// 将整数数组倒序每隔3个字符添加一个逗号“,”
NSString *newNumber = @"";
for (NSInteger i = 0 ; i < integerArray.count ; i ++) {
NSString *getString = @"";
NSInteger index = (integerArray.count-1) - i;
if (integerArray.count > index) {
getString = [integerArray objectAtIndex:index];
}
BOOL result = YES;
if (index == 0 && integerArray.count%3 == 0) {
result = NO;
}
if ((i+1)%3 == 0 && result) {
newNumber = [NSString stringWithFormat:@"%@%@%@",divide,getString,newNumber];
} else {
newNumber = [NSString stringWithFormat:@"%@%@",getString,newNumber];
}
}
if (contains) {
newNumber = [NSString stringWithFormat:@"%@.%@",newNumber,radixPoint];
}
if (![prefix isEqualToString:@""]) {
newNumber = [NSString stringWithFormat:@"%@%@",prefix,newNumber];
}
if (![suffix isEqualToString:@""]) {
newNumber = [NSString stringWithFormat:@"%@%@",newNumber,suffix];
}
return newNumber;
}
@end
示意图:
总结
以上所述是小编给大家介绍的iOS开发之数字每隔3位用逗号分隔,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# ios
# 数字以逗号分隔
# 数字逗号分隔
# IOS 开发之NSDictionary转换成JSON字符串
# 解决IOS开发空字符串的方法
# IOS 中UITextField和UITextView中字符串为空和空格的解决办法
# Textarea输入字数限制实例(兼容iOS&安卓)
# IOS中用正则表达式判断输入的内容为8-16位且同时包含数字和字母
# iOS中 UIActionSheet字体的修改
# IOS开发之字典转字符串的实例详解
# 每隔
# 小编
# 在此
# 给大家
# 可选
# 要将
# 所述
# 给我留言
# 感谢大家
# 要写
# 源码下载
# 按需
# 则需
# 稍大
# 疑问请
# 有任何
# 分隔符
# 浮点数
# IBAction
# UILabel
相关文章:
安徽网站建设与外贸建站服务专业定制方案
制作网站建设的公司有哪些,网站建设比较好的公司都有哪些?
免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?
手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?
昆明网站制作哪家好,昆明公租房申请网上登录入口?
实例解析angularjs的filter过滤器
公司网站制作需要多少钱,找人做公司网站需要多少钱?
网站插件制作软件免费下载,网页视频怎么下到本地插件?
网站设计制作公司地址,网站建设比较好的公司都有哪些?
已有域名和空间如何搭建网站?
手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?
c++怎么使用类型萃取type_traits_c++ 模板元编程类型判断【方法】
网站视频怎么制作,哪个网站可以免费收看好莱坞经典大片?
电商网站制作公司有哪些,1688网是什么意思?
如何设置并定期更换建站之星安全管理员密码?
网站制作费用多少钱,一个网站的运营,需要哪些费用?
成都网站制作公司哪家好,四川省职工服务网是做什么用?
怀化网站制作公司,怀化新生儿上户网上办理流程?
青岛网站建设如何选择本地服务器?
企业微网站怎么做,公司网站和公众号有什么区别?
建站主机无法访问?如何排查域名与服务器问题
高性价比服务器租赁——企业级配置与24小时运维服务
建站之星好吗?新手能否轻松上手建站?
如何处理“XML格式不正确”错误 常见XML well-formed问题解决方法
如何选择高效稳定的ISP建站解决方案?
黑客如何通过漏洞一步步攻陷网站服务器?
实现虚拟支付需哪些建站技术支撑?
制作网站的基本流程,设计网站的软件是什么?
深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?
建站之星北京办公室:智能建站系统与小程序生成方案解析
制作公司内部网站有哪些,内网如何建网站?
宝塔新建站点报错如何解决?
香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南
如何获取PHP WAP自助建站系统源码?
如何在七牛云存储上搭建网站并设置自定义域名?
东莞市网站制作公司有哪些,东莞找工作用什么网站好?
如何批量查询域名的建站时间记录?
如何在服务器上三步完成建站并提升流量?
营销式网站制作方案,销售哪个网站招聘效果最好?
MySQL查询结果复制到新表的方法(更新、插入)
制作网站的公司有哪些,做一个公司网站要多少钱?
详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)
如何在阿里云部署织梦网站?
如何在景安服务器上快速搭建个人网站?
如何实现建站之星域名转发设置?
香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧
如何在建站主机中优化服务器配置?
c# await 一个已经完成的Task会发生什么
学校建站服务器如何选型才能满足性能需求?
广州美橙建站如何快速搭建多端合一网站?
*请认真填写需求信息,我们会在24小时内与您取得联系。