有没有办法将二进制字符串转换为 int

Posted

技术标签:

【中文标题】有没有办法将二进制字符串转换为 int【英文标题】:Is there a way to turn a binary string into a int 【发布时间】:2021-04-04 04:24:45 【问题描述】:

所以我有一个像这样的字符串0b00001 有没有办法把它变成一个 Int,我试过这样的东西,

let string = "0b0001"
let int = Int(string)

但由于字符串中有一个“b”来指定它是二进制的,因此它将int 设置为nil

有没有办法把string的内容变成int?

【问题讨论】:

可能有帮助:***.com/q/26790660/1187415 【参考方案1】:

是的。您可以使用 BinaryInteger 通用初始化程序,但需要删除“0b”前缀:

init?<S>(_ text: S, radix: Int = 10) where S : StringProtocol

let str = "0b0101"
let int = Int(str.dropFirst(2), radix: 2)   // 5

【讨论】:

以上是关于有没有办法将二进制字符串转换为 int的主要内容,如果未能解决你的问题,请参考以下文章

使用 0x (C#) 将十六进制字符串转换为 int32 [关闭]

有没有办法使用 Java 流将十六进制字符串转换为字节?

快速将字符串转换为二进制?

在 C++ 中将十六进制字符转换为 int

将 int 转换为 Java 中的二进制字符串表示形式?

如何将string类型的数字转换成int