您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何在Swift中将Int转换为十六进制字符串

如何在Swift中将Int转换为十六进制字符串

您现在可以执行以下操作:

let n = 14
var st = String(format:"%02X", n)
st += " is the hexadecimal representation of \(n)"
print(st)
0E is the hexadecimal representation of 14

注意:2在此示例中,表示 字段宽度 ,表示所需的 最小 长度。在0它告诉垫与领先的结果0的如果需要的话。(如果没有0,结果将用前导空格填充)。当然,如果结果大于两个字符,则字段长度将不会被剪裁为2;它将扩展到显示完整结果所需的任何长度。

仅当您Foundation导入后才有效(包括Cocoa或的导入UIKit)。如果您正在执行 iOSmacOS 编程,这不是问题。

使用大写X,如果你想A...F和小写字母x,如果你想a...f

String(format: "%x %X", 64206, 64206)  // "face FACE"

如果要打印大于的整数,请在格式字符串中UInt32.max添加llel-el ,而不是 11 ):

let n = UInt64.max
print(String(format: "%llX is hexadecimal for \(n)", n))
FFFFFFFFFFFFFFFF is hexadecimal for 18446744073709551615

您仍然NSString可以执行此操作。格式为:

var st = NSString(format:"%2X", n)

这样会st产生NSString,因此类似之类的东西+=将无法正常工作。如果您希望可以使用+=makest将其追加到字符串中,String如下所示:

var st = NSString(format:"%2X", n) as String

要么

var st = String(NSString(format:"%2X", n))

要么

var st: String = NSString(format:"%2X", n)

然后,您可以执行以下操作:

let n = 123
var st = NSString(format:"%2X", n) as String
st += " is the hexadecimal representation of \(n)"
// "7B is the hexadecimal representation of 123"
Swift 2022/1/1 18:19:32 有574人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶