iOS textField输入数字时每隔3个数字就用逗号隔开
2016-08-11 17:46
691 查看
有些项目的要求比较高,类似于输入银行卡号、电话号码、金额时,为了提高用户体验。输入这些类型的数字一般客户要求添加格式。这对于开发人员来说无疑是增加难度。在此提供一种输入金额时每隔三个数字就用逗号隔开的方法供大家参考,如有不足之处请指教。
- (void)viewDidLoad {
[super
viewDidLoad];
[self.outstandingTextField
addTarget:self
action:@selector(textFieldDidChange:)
forControlEvents:UIControlEventEditingChanged];//给textField 添加监听事件
}
-(void)textFieldDidChange :(UITextField *)theTextField{
theTextField.attributedText = [self setBalance:theTextField.text];
}
-(NSMutableAttributedString *)setBalance:(NSString *)balance{
if (balance == nil) {
balance =
@"0";
}
NSString *newBalance = [balance
stringByReplacingOccurrencesOfString:@","
withString:@""];
NSNumberFormatter *formatter = [NSNumberFormatter
new];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
NSString *formattedBalance = [formatter
stringFromNumber:[NSNumber
numberWithInteger:[newBalance integerValue]]];
NSMutableAttributedString *vAttrString = [[NSMutableAttributedString
alloc]initWithString:[NSString
stringWithFormat:@" %@", formattedBalance]
attributes:nil];
NSLog(@"===---- %@",vAttrString);
return vAttrString;
- (void)viewDidLoad {
[super
viewDidLoad];
[self.outstandingTextField
addTarget:self
action:@selector(textFieldDidChange:)
forControlEvents:UIControlEventEditingChanged];//给textField 添加监听事件
}
-(void)textFieldDidChange :(UITextField *)theTextField{
theTextField.attributedText = [self setBalance:theTextField.text];
}
-(NSMutableAttributedString *)setBalance:(NSString *)balance{
if (balance == nil) {
balance =
@"0";
}
NSString *newBalance = [balance
stringByReplacingOccurrencesOfString:@","
withString:@""];
NSNumberFormatter *formatter = [NSNumberFormatter
new];
[formatter setNumberStyle:NSNumberFormatterDecimalStyle];
NSString *formattedBalance = [formatter
stringFromNumber:[NSNumber
numberWithInteger:[newBalance integerValue]]];
NSMutableAttributedString *vAttrString = [[NSMutableAttributedString
alloc]initWithString:[NSString
stringWithFormat:@" %@", formattedBalance]
attributes:nil];
NSLog(@"===---- %@",vAttrString);
return vAttrString;
相关文章推荐
- msql 正则表达式
- 正则表达式
- JavaScript正则表达式详解
- Mootools 1.2教程 正则表达式
- 批处理FINDSTR正则表达式用法实例分析
- vbs正则表达式代码
- C#正则表达式Regex类的常用匹配
- extjs form textfield的隐藏方法
- C#中利用正则表达式将人民币金额转换为大写汉字
- C#使用正则表达式实现首字母转大写的方法
- php中看实例学正则表达式
- PHP正则表达式之定界符和原子介绍
- PHP下常用正则表达式整理
- 批处理 正则表达式(findstr) 整理
- 详解C#正则表达式Regex常用匹配
- C#正则表达式的6个简单例子
- 正则表达式(语法篇推荐)
- JavaScript类型系统之正则表达式
- 详解JS正则replace的使用方法