ios – 字符串到NSNumber在swift

我发现一个方法来将字符串转换为NSNumber,但代码是在objective-C。我试着将其转换为swift,但它不工作。

我使用的代码

NSNumberFormatter *f = [[NSNumberFormatter alloc] init];
f.numberStyle = NSNumberFormatterDecimalStyle;
NSNumber *myNumber = [f numberFromString:@"42222222222"];

和在swift我使用它在这种方式

var i = NSNumberFormatter.numberFromString("42")

但是这个代码不工作,我做错了什么?

提前致谢

Swift 3.0

NSNumber(integer:myInteger)已更改为NSNumber(值:myInteger)

let someString = "42222222222"
if let myInteger = Int(someString) {
    let myNumber = NSNumber(value:myInteger)
}

Swift 2.0

使用Int()初始化器像这样。

let someString = "42222222222"
if let myInteger = Int(someString) {
    let myNumber = NSNumber(integer:myInteger)
    print(myNumber)
} else {
    print("'\(someString)' did not convert to an Int")
}

这可以在一行中完成,如果你已经知道字符串将完美转换或你只是不在乎。

let myNumber = Int("42222222222")!

Swift 1.0

使用toInt()方法。

let someString = "42222222222"
if let myInteger = someString.toInt() {
    let myNumber = NSNumber(integer:myInteger)
    println(myNumber)
} else {
    println("'\(someString)' did not convert to an Int")
}
http://stackoverflow.com/questions/28605703/string-to-nsnumber-in-swift

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:ios – 字符串到NSNumber在swift