【发布时间】:2021-04-04 04:24:45
【问题描述】:
所以我有一个像这样的字符串0b00001 有没有办法把它变成一个 Int,我试过这样的东西,
let string = "0b0001"
let int = Int(string)
但由于字符串中有一个“b”来指定它是二进制的,因此它将int 设置为nil。
有没有办法把string的内容变成int?
【问题讨论】:
标签: swift string binary integer
所以我有一个像这样的字符串0b00001 有没有办法把它变成一个 Int,我试过这样的东西,
let string = "0b0001"
let int = Int(string)
但由于字符串中有一个“b”来指定它是二进制的,因此它将int 设置为nil。
有没有办法把string的内容变成int?
【问题讨论】:
标签: swift string binary integer
是的。您可以使用 BinaryInteger 通用初始化程序,但需要删除“0b”前缀:
init?<S>(_ text: S, radix: Int = 10) where S : StringProtocol
let str = "0b0101"
let int = Int(str.dropFirst(2), radix: 2) // 5
【讨论】: