IOS判斷字符串是不是純數(shù)字的方法總結(jié)
前言
在大家開發(fā)項(xiàng)目的時候,遇到需求可能是讓我們只輸入一段純數(shù)字,這時候我們就要對這個字符串進(jìn)行篩選判斷,不符合純數(shù)字進(jìn)行提示操作,以求達(dá)到最好的交互效果也能滿足需求。
下面介紹幾種判斷字符串是否為純數(shù)字的方法
第一種方式是使用NSScanner:
1. 整形判斷
- (BOOL)isPureInt:(NSString *)string{ NSScanner* scan = [NSScanner scannerWithString:string]; int val; return [scan scanInt:&val] && [scan isAtEnd]; }
2.浮點(diǎn)形判斷:
- (BOOL)isPureFloat:(NSString *)string{ NSScanner* scan = [NSScanner scannerWithString:string]; float val; return [scan scanFloat:&val] && [scan isAtEnd]; }
第二種方式是使用循環(huán)判斷
- (BOOL)isPureNumandCharacters:(NSString *)text { for(int i = 0; i < [text length]; ++i) { int a = [text characterAtIndex:i]; if ([self isNum:a]){ continue; } else { return NO; } } return YES; }
或者 C語言中常用的方式.
- (BOOL)isAllNum:(NSString *)string{ unichar c; for (int i=0; i<string.length; i++) { c=[string characterAtIndex:i]; if (!isdigit(c)) { return NO; } } return YES; }
第三種方式則是使用NSString的trimming方法
- (BOOL)isPureNumandCharacters:(NSString *)string { string = [string stringByTrimmingCharactersInSet;[NSCharacterSet decimalDigitCharacterSet]]; if(string.length > 0) { return NO; } return YES; }
總結(jié)
以上就是為大家總結(jié)的三種能夠幫助實(shí)現(xiàn)判斷字符串是否為數(shù)字的函數(shù),iOS中沒有直接判斷是否是數(shù)字的方法,所以只能夠自己添加方法去實(shí)現(xiàn)了.希望這篇文章總結(jié)的幾種方法能夠幫助到大家,如果有疑問可以留言交流。
相關(guān)文章
Flutter?GetPageRoute實(shí)現(xiàn)嵌套導(dǎo)航學(xué)習(xí)
這篇文章主要為大家介紹了Flutter?GetPageRoute實(shí)現(xiàn)嵌套導(dǎo)航的示例學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08iOS開發(fā)中對文件目錄的訪問及管理的基本方法小結(jié)
這篇文章主要介紹了iOS開發(fā)中對文件目錄的訪問及管理的基本方法小結(jié),代碼基于傳統(tǒng)的Objective-C,需要的朋友可以參考下2015-10-10iOS微信瀏覽器回退不刷新實(shí)例(監(jiān)聽瀏覽器回退事件)
下面小編就為大家?guī)硪黄猧OS微信瀏覽器回退不刷新實(shí)例(監(jiān)聽瀏覽器回退事件)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-05-05Drawer?Builder組件實(shí)現(xiàn)flutter側(cè)邊抽屜效果示例分析
這篇文章主要為大家介紹了Drawer?Builder組件實(shí)現(xiàn)flutter側(cè)邊抽屜效果示例分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10