I found a method to convert String to NSNumber, but the code is in Objective-C. I have tried converting it to Swift but it is not working.
The code I am using:
NSNumberFormatter *f = [[NSNumberFormatter alloc] init];
f.numberStyle = NSNumberFormatterDecimalStyle;
NSNumber *myNumber = [f numberFromString:@"42222222222"];
and in Swift I am using it in this way:
var i = NSNumberFormatter.numberFromString("42")
But this code is not working. What am I doing wrong?
NSNumber(integer:myInteger)
has changed to NSNumber(value:myInteger)
let someString = "42222222222"
if let myInteger = Int(someString) {
let myNumber = NSNumber(value:myInteger)
}
Use the Int()
initialiser like this.
let someString = "42222222222"
if let myInteger = Int(someString) {
let myNumber = NSNumber(integer:myInteger)
print(myNumber)
} else {
print("'\(someString)' did not convert to an Int")
}
This can be done in one line if you already know the string will convert perfectly or you just don't care.
let myNumber = Int("42222222222")!
Use the toInt()
method.
let someString = "42222222222"
if let myInteger = someString.toInt() {
let myNumber = NSNumber(integer:myInteger)
println(myNumber)
} else {
println("'\(someString)' did not convert to an Int")
}