Objectif c: Vérifier si le nombre entier/int/nombre
En objective-c, comment puis-je vérifier si une chaîne de caractères/NSNumber est un entier ou d'int
- Veuillez expliquer plus en détail ce que tu veux dire. Les deux NSString et NSNumber peut être converti en int ou NSInteger, mais ni est un int ou NSInteger.
- Ok désolé, j'ai besoin de savoir si un String ou Int est un type int/entier. Le voir, je suis la division d'un nombre par un autre nombre, mais le numéro d'un utilisateur met peut-être pas un int. j'ai besoin de vérifier si son int nombre
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser le intValue méthode sur NSString:
Voici la documentation d'Apple pour elle - elle renverra 0 si ce n'est pas un entier valide: http://developer.apple.com/mac/library/documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/Reference/NSString.html#//apple_ref/occ/instm/NSString/intValue
Espère que ça aide!
[@"abc" intValue]
sera de retour0
. Peut conduire à des résultats étranges.Si vous essayez de déterminer si oui ou non un
NSString
a une valeur numérique ou pas, essayez d'utiliserNSNumberFormatter
.Je l'ai mis dans ma catégorie
NSString (Util)
.Pour vérifier si un NSNumber si un nombre entier à essayer:
Pour NSString, si vous utilisez intValue/integerValue, il y a certains cas qui ne sont pas traitées comme il ne prend en compte que le début de la chaîne.
Par exemple @"bl3h" n'était pas considéré comme un entier, mais @" 3h" a donné une sortie de 3
Ma solution pour NSString:
Utilisation :
Vous pouvez bien sûr d'abord déterminer si ses un NSString ou NSNumber en utilisant
[Objet isKindOfClass:[NSString classe]] etc...
– boolValue
– charValue
– decimalValue
– doubleValue
– floatValue
– intValue
– integerValue
– longLongValue
– longValue
– shortValue
– unsignedCharValue
– unsignedIntegerValue
– unsignedIntValue
– unsignedLongLongValue
– unsignedLongValue
– unsignedShortValue
sont toutes les méthodes de NSNumber pour obtenir ses valeurs.
NSString eu un peu les mêmes.