swift - 有没有办法将二进制字符串转换为 int
问题描述
所以我有一个这样的字符串0b00001
有没有办法把它变成一个 Int,我试过这样的东西,
let string = "0b0001"
let int = Int(string)
但由于字符串中有一个“b”来指定它是二进制的,所以它设置int
为nil
.
有什么办法可以将 int 的内容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
推荐阅读
- html - 如何在保持纵横比的同时使任意 SVG 扩展到其父容器?
- javascript - 如何每 20 毫秒仅捕获 8 个字节的音频缓冲区?
- regex - 使用 sed s/regex/replacement/,如何在替换中同时使用双引号 " 和变量 $v?
- laravel - 当我尝试使用 nginx 连接到我的 lumen api 时返回 502
- azure-machine-learning-service - 磁盘空间不足
- javascript - 获取输入文本值的 id
- minikube - 如何使用 envconsul 在 pod 中设置 ENV 变量
- python - numpy 从值不为 0 的数组中随机采样
- c# - 使用命名空间的 XML 对象数组反序列化
- phaser-framework - Phaser 3 config TypeError - phaser.scale 未定义