Нет способа, которым doubleValue
не обходится без возврата чего-либо.Минимальное значение, которое вы можете проверить, это 0
.В следующих случаях doubleValue возвращает 0.
-
string
не содержит действительного числового значения. string
- это nil
. - *
string
на самом деле содержит @"0"
.
Проверка правильности номера
Используйте NSPredicate, чтобы проверить, содержит ли строка числовое значение.
NSString *str = @"sfas";
NSString *regx = @"(-){0,1}(([0-9]+)(.)){0,1}([0-9]+)";
NSPredicate *test = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regx];
BOOL isAValidNumber = [test evaluateWithObject:str];