有没有办法将二进制字符串转换为 int
Is there a way to turn a binary string into a int
所以我有一个像这样的字符串0b00001
有没有办法把它变成一个 Int,我试过这样的东西,
let string = "0b0001"
let int = Int(string)
但是由于字符串中有一个“b”来指定它是二进制的,所以它设置 int
为 nil
。
有什么办法可以把string
的内容转成int吗?
是的。您可以使用 BinaryInteger 通用初始化器,但您需要删除“0b”前缀:
init?<S>(_ text: S, radix: Int = 10) where S : StringProtocol
let str = "0b0101"
let int = Int(str.dropFirst(2), radix: 2) // 5
所以我有一个像这样的字符串0b00001
有没有办法把它变成一个 Int,我试过这样的东西,
let string = "0b0001"
let int = Int(string)
但是由于字符串中有一个“b”来指定它是二进制的,所以它设置 int
为 nil
。
有什么办法可以把string
的内容转成int吗?
是的。您可以使用 BinaryInteger 通用初始化器,但您需要删除“0b”前缀:
init?<S>(_ text: S, radix: Int = 10) where S : StringProtocol
let str = "0b0101"
let int = Int(str.dropFirst(2), radix: 2) // 5