如何将 JSON 中的字符串转换为 int Swift

kea*_*wei 5 swift

self.event?["start"].string
Run Code Online (Sandbox Code Playgroud)

输出 = 可选(“1423269000000”)

我想获得 1423269000000 作为 Int

我们怎样才能做到这一点?我尝试了很多方法,例如 NSString (但它改变了值)

Ogu*_*glu 3

您的值:1,423,269,000,000大于最大 Int32 值:2,147,483,647。这可能会导致意外的铸造价值。有关更多信息,请查看:数字类型

尝试运行这段代码:

let maxIntegerValue = Int.max
println("Max integer value is: \(maxIntegerValue)")
Run Code Online (Sandbox Code Playgroud)

在iPhone 4S模拟器中,控制台输出为:

Max integer value is: 2147483647
Run Code Online (Sandbox Code Playgroud)

而iPhone 6模拟器,控制台输出为:

Max integer value is: 9223372036854775807
Run Code Online (Sandbox Code Playgroud)

这些信息可能对您有帮助。

但通常将 Int 转换为 String:

let mInt : Int = 123
var mString = String(mInt)
Run Code Online (Sandbox Code Playgroud)

并将 String 转换为 Int:

let mString : String = "123"
let mInt : Int? = mString.toInt()

if (mInt != null) {
    // converted String to Int
}
Run Code Online (Sandbox Code Playgroud)