我想检查textfield的输入值是float还是int,其余是字符串。
例如,如果用户在textfield中输入了43.34,我们将把它作为字符串。获取字符串值后,我必须确定它是浮点数还是int。
if (value is float)
{
// do something
}
else if (value is int)
{
// do some thing
}
else
{
// this is a string value
}
提前致谢。
答案 0 :(得分:2)
因为数字是浮点数也是整数。 所以你必须先检查一个数字是否为整数,然后是浮点数和最后一个字符串。
- (BOOL)checkIsInteger: (NSString *)integerString{
NSScanner* scan = [NSScanner scannerWithString:integerString];
int val;
return [scan scanInt:&val] && [scan isAtEnd];
}
- (BOOL)checkIsFloat: (NSString *)floatString{
NSScanner* scan = [NSScanner scannerWithString:floatString];
float val;
return [scan scanFloat:&val] && [scan isAtEnd];
}
- (void)yourFunction: (NSString *)string{
if ([self checkIsInteger:string]) {
// This is integer
}else if([self checkIsFloat:string]){
// This is float
}else
// This is string
}