📅  最后修改于: 2023-12-03 15:07:49.800000             🧑  作者: Mango
在 Swift 中,我们可以使用 Int
类型表示整数,但是在实际开发中,我们常常需要将一个字符串转化为 Int
类型,或者将一个 Int
类型转化为字符串。这篇文章将介绍在 Swift 中解析 Int
的相关操作。
我们可以使用 Int()
函数将一个字符串解析为 Int
类型。如果字符串不能转换为整数,Int()
函数将会返回 nil
。
let str = "123"
let num = Int(str) // num 的类型为 Optional<Int>
在上面的代码中,num
的类型是 Optional<Int>
,因为解析字符串成功并不总是可能的,所以 Int()
函数的返回值是可选类型。如果字符串不能被解析为整数,num
的值将为 nil
。
我们还可以使用 guard let
语句来确保解析字符串成功,并处理解析失败的情况。
func parse(str: String) -> Int? {
guard let num = Int(str) else {
return nil
}
return num
}
在上面的代码中,如果 Int(str)
返回 nil
,guard let
语句将会执行 else
分支并返回 nil
。
我们可以使用 String()
函数将一个 Int
类型转换为字符串。
let num = 123
let str = String(num) // str 的类型为 String
如果我们想要在转换时指定进制,可以使用 radix:
参数来设置。
let num = 123
let str1 = String(num, radix: 2) // str1 的值为 "1111011"
let str2 = String(num, radix: 16) // str2 的值为 "7b"
在上面的代码中,radix:
参数用于指定转换的进制,可以是 2、8、10 或 16。在第一个转换中,我们将 num
转换为二进制数字,得到的字符串为 "1111011"。在第二个转换中,我们将 num
转换为十六进制数字,得到的字符串为 "7b"。
在 Swift 中,我们可以使用 Int()
函数将字符串解析为整数,也可以使用 String()
函数将整数转换为字符串。当我们解析字符串时,需要注意解析失败的情况。