入力された文字が数値かどうか?判定する処理はいろいろありますが、cocoa の流儀ではどうするのかと調べると NSScanner ってのが使えると知りました。
初めて使いましたが、便利ですね。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | // 数値入力として妥当か判断する - (BOOL)isDigit:(NSString *)inString { if ([inString length] == 0) { return NO; } NSCharacterSet *digitCharSet = [NSCharacterSet characterSetWithCharactersInString:@"0123456789"]; NSScanner *aScanner = [NSScanner localizedScannerWithString:inString]; [aScanner setCharactersToBeSkipped:nil]; [aScanner scanCharactersFromSet:digitCharSet intoString:NULL]; return [aScanner isAtEnd]; } |
参考リンク:
terrazzoの日記 ■[Cocoa]Re: NSString が整数値かどうか調べる関数