iOS 判断输入的字符串小数点前几位和后几位方法(适用于金额输入)
2015-11-05 00:57
537 查看
#define myDotNumbers @"0123456789.\n"
#define myNumbers @"0123456789\n"
NSInteger strLength = textField.text.length - range.length + string.length;
NSCharacterSet *cs;
NSUInteger nDotLoc = [textField.text rangeOfString:@"."].location;
if (NSNotFound == nDotLoc && 0 != range.location) {
cs = [[NSCharacterSetcharacterSetWithCharactersInString:myNumbers]invertedSet];
if ([string isEqualToString:@"."]) {
return YES;
}
if (strLength>=6) { //小数点前面6位
return NO;
}
}
else {
cs = [[NSCharacterSetcharacterSetWithCharactersInString:myDotNumbers]invertedSet];
if (strLength>=9) {
return NO;
}
}
NSString *filtered = [[stringcomponentsSeparatedByCharactersInSet:cs]componentsJoinedByString:@""];
BOOL basicTest = [string isEqualToString:filtered];
if (!basicTest) {
return NO;
}
if (NSNotFound != nDotLoc && range.location > nDotLoc +2) {//小数点后面两位
return NO;
}
return YES;
#define myNumbers @"0123456789\n"
NSInteger strLength = textField.text.length - range.length + string.length;
NSCharacterSet *cs;
NSUInteger nDotLoc = [textField.text rangeOfString:@"."].location;
if (NSNotFound == nDotLoc && 0 != range.location) {
cs = [[NSCharacterSetcharacterSetWithCharactersInString:myNumbers]invertedSet];
if ([string isEqualToString:@"."]) {
return YES;
}
if (strLength>=6) { //小数点前面6位
return NO;
}
}
else {
cs = [[NSCharacterSetcharacterSetWithCharactersInString:myDotNumbers]invertedSet];
if (strLength>=9) {
return NO;
}
}
NSString *filtered = [[stringcomponentsSeparatedByCharactersInSet:cs]componentsJoinedByString:@""];
BOOL basicTest = [string isEqualToString:filtered];
if (!basicTest) {
return NO;
}
if (NSNotFound != nDotLoc && range.location > nDotLoc +2) {//小数点后面两位
return NO;
}
return YES;
相关文章推荐
- iOS 设计模式系列:Singleton – 单例模式
- Pods管理iOS第三 库(二)
- 对比iOS中的四种数据存储
- 制作静态库
- 安装Cocoapods(Pods 管理iOS 第三方库)
- iOS8 【xcode6中添加pch全局引用文件】
- 【iOS】PrefixHeader.pch
- iOS开发 ----- 新的转场动画
- iOS开发18-iOS 诸葛亮的锦囊妙计--Block的使用
- iOS开发17-iOS 模态视图的使用
- iOS开发16-iOS NSTimer的使用
- iOS常遇到的錯誤訊息與解決方式
- IOS之atomicnonatomic,assign,copy與retain的定義和區別
- 小议iOS------block传值 回调传值
- iOS与内存管理
- iOS 常用的第三方类库
- iOS开发见闻-第5期
- iOS 本地图片与视频
- iOS回收键盘小见
- iOS开发-常用第三方开源框架介绍(你了解的ios只是冰山一角)