将整数转换为两个字符的十六进制字符串(Swift)

6

我正在尝试从整数中获取两个字符的十六进制值:

let hex = String(format:"%2X", 0)
print ("hex = \(hex)")

如何将字符串格式化为始终包含2个字符的结果,例如在这种情况下我想要

hex = "00"

提示:您可以使用字符串格式化方法,例如:

hex = "{:02d}".format(0)

1个回答

16

您可以在格式化字符串之前添加填充0:

let hex = String(format:"%02X", 0)

结果:

let hex = String(format:"%02X", 0) // 00
let hex = String(format:"%02X", 15) // 0F
let hex = String(format:"%02X", 16) // 10

谢谢,我相信苹果公司已经在某个地方记录了这个,如果有相关文档的链接,对于未来的字符串操作会很有帮助。 - Ian Clay
4
@IanClay:这个String方法实际上是从相应的NSString方法桥接而来的。NSString文档中有一个链接到字符串格式说明符的链接,该链接又有一个指向IEEE printf规范的链接,这是最终的参考资料。很容易吧? - Martin R

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接