入力された文字が数値かどうか?判定する処理はいろいろありますが、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];
} |
// 数値入力として妥当か判断する
- (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 が整数値かどうか調べる関数