首页 > 解决方案 > 将 INT64 转换为十六进制字符串,去掉两位数?

问题描述

我正在尝试使用 String(format:) 将 Int64 值转换为十六进制

这是一个例子:

let value: Int64 = 431181030500

let stringHex = String(format: "%02X", value) //returns 64646464 instead of the expected 6464646464

有没有人经历过这个?还有其他方法可以快速转换为十六进制吗?

标签: swift

解决方案


我找到了一个解决方案:

有一个字符串初始化器 String(radix:uppercase:) 似乎工作正常。

String(431181030500, radix: 16, uppercase: true) // returns 6464646464

我有点担心 String(format:) 虽然返回了错误的值。


推荐阅读