[英]How to convert string in JSON to int Swift
self.event?["start"].string
輸出是 = Optional("1423269000000")
我想得到 1423269000000 作為 Int
我們怎樣才能做到這一點? 我已經嘗試了很多方法,比如 NSString (但它改變了值)
您的值: 1,423,269,000,000
大於最大 Int32 值: 2,147,483,647
。 這可能會導致意外的轉換值。 有關更多信息,請查看: 數字類型。
嘗試運行此代碼:
let maxIntegerValue = Int.max
println("Max integer value is: \(maxIntegerValue)")
在 iPhone 4S 模擬器中,控制台輸出為:
Max integer value is: 2147483647
而iPhone 6模擬器,控制台輸出是:
Max integer value is: 9223372036854775807
這些信息可能對您有所幫助。
但通常將 Int 轉換為 String:
let mInt : Int = 123
var mString = String(mInt)
並將 String 轉換為 Int:
let mString : String = "123"
let mInt : Int? = mString.toInt()
if (mInt != null) {
// converted String to Int
}
這是我使用可選綁定執行此操作的安全方法:
var json : [String:String];
json = ["key":"123"];
if var integerJson = json["key"]!.toInt(){
println("Integer conversion successful : \(integerJson)")
}
else{
println("Integer conversion failed")
}
輸出: Integer conversion successful :123
所以,這樣一個可以肯定,如果轉換成功與否,使用Optional Binding
我不確定你的問題,但說你有一本字典(它是 JSON 還是不是)你可以這樣做:
var dict: [String : String]
dict = ["key1" : "123"]
var x : Int
x = dict["key1"].toInt()
println(x)
以防萬一有人仍在尋找更新的答案,這里是 Swift 5+ 版本:
let jsonDict = ["key": "123"];
// Validation
guard let value = Int(jsonDict["key"]) else {
print("Error! Unexpected value.")
return
}
print("Integer conversion successful: \(value)")
// 打印“整數轉換成功:123”
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.