Chaîne de NSNumber en swift
J'ai trouvé une méthode pour convertir la chaîne de NSNumber, mais le code est en objective-C. j'ai essayé de le convertir rapide, mais il ne fonctionne pas.
Le code, je suis en utilisant
NSNumberFormatter *f = [[NSNumberFormatter alloc] init];
f.numberStyle = NSNumberFormatterDecimalStyle;
NSNumber *myNumber = [f numberFromString:@"42222222222"];
et rapide je l'utilise de cette façon
var i = NSNumberFormatter.numberFromString("42")
Mais ce code ne fonctionne pas, ce que je fais mal?
Merci d'avance
- essayez cette NSNumberFormatter().numberFromString("42")!.doubleValue
Vous devez vous connecter pour publier un commentaire.
Swift 3.0
NSNumber(integer:myInteger)
a changé deNSNumber(value:myInteger)
Swift 2.0
Utiliser le
Int()
initialiser comme ça.Cela peut être fait en une seule ligne si vous connaissez déjà la chaîne de convertir parfaitement ou que vous n'avez pas de soins.
Swift 1.0
Utiliser le
toInt()
méthode.Ou de le faire tout en une seule ligne:
Swift 2
Essayez ceci:
Swift 3.x
NSNumber.init( value: Int32("22")!)
Vous pouvez utiliser le code suivant si vous devez utiliser
NSNumberFormatter
.Il est plus simple à utiliser Wezly de la méthode.
NSNumberFormatter
est coûteux à créer, et devrait être mis en cache chaque fois que possible au lieu d'être créée à chaque fois qu'il est utilisé.Je ne utiliser l'extension de swift 3/4 et c'est cool.
puis il suffit d'utiliser code suivant:
Ce qui est cool, c'est que vous n'avez pas besoin d'une chaîne de
if
déclarations à déballer les valeurs optionnelles.Par exemple,
peut être remplacé par: