ios - Swift 中的字符串到 NSNumber

标签 ios swift ios8 nsnumber

我找到了一个将String转换为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(value: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")
}

关于ios - Swift 中的字符串到 NSNumber,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28605703/

相关文章:

iPhone 使用 AVCaptureVideoPreviewLayer 拍摄增强现实屏幕截图

ios - 来自 NSURL 的 Swift PHAsset

ios - 如何通过自定义参数过滤 Firebase 事件?

ios - 在 api 类之外显示与 alamofire 相关的警报

ios - 依次执行一段代码

ios - 取消固定 HomeKit 配件

ios - WKWebView 与 SFSafariViewController

ios - 核心数据 - 安装应用程序时创建示例数据

ios - 检测动画 UIImageView 上的点击

ios - UIAlertController 自定义字体、大小、颜色