Цель c: Проверьте, является ли целое число / целое число / число

В цели c, как я могу проверить, является ли строка / NSNumber целым числом или целым

15
задан Andrew 28 December 2012 в 05:44
поделиться

4 ответа

Вы можете использовать метод intValue в NSString:

NSString *myString = @"123";
[myString intValue]; // returns (int)123

Вот для него документация Apple - он вернет 0, если это недействительное целое число: http://developer.apple.com/mac/library /documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/Reference/NSString.html#//apple_ref/occ/instm/NSString/intValue

Надеюсь, это поможет!

13
ответ дан 1 December 2019 в 00:05
поделиться

Если вы пытаетесь чтобы определить, имеет ли NSString числовое значение, попробуйте использовать NSNumberFormatter .

-(BOOL) stringIsNumeric:(NSString *) str {
    NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
    NSNumber *number = [formatter numberFromString:str];
    [formatter release];
    return !!number; // If the string is not numeric, number will be nil
}
36
ответ дан 1 December 2019 в 00:05
поделиться

Чтобы проверить, является ли NSNumber целочисленным, попробуйте:

const char *t = [(NSNumber *)value objCType];
if (strcmp("i", t) == 0); // YES if integer
3
ответ дан 1 December 2019 в 00:05
поделиться
if( [(NSString *)someString intValue] )
{ /* Contains an int fosho! */ }

if( [(NSNumber *)someNumber intValue] )
{ /* Contains an int wich is not 0.... :D */ }

Вы, конечно, можете сначала определить, является ли это NSString или NSNumber, используя

[Object isKindOfClass:[класс NSString]] и т.д....

- boolValue - charValue - десятичное значение - doubleValue - floatValue - intValue - целое значение - длинное значение - длинное значение - короткое значение - unsignedCharValue - unsignedIntegerValue - unsignedIntValue - unsignedLongLongValue - unsignedLongValue - unsignedShortValue

- все это методы NSNumber для получения его значений. У NSString есть несколько похожих.

0
ответ дан 1 December 2019 в 00:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: