Gee*_*e.E 3 string int hex swift
我试图从数组中的十六进制值创建一个字符串,但是每当数组中的十六进制以零开头时,它也会在结果字符串中消失。
我String(value:radix:uppercase)用来创建字符串。
一个例子:
这是一个数组:[0x13245678, 0x12345678, 0x12345678, 0x12345678].
这给了我字符串:12345678123456781234567812345678 (32 个字符)
但是下面的数组:([0x02345678, 0x12345678, 0x02345678, 0x12345678]注意我1用零替换了两个)。
给我字符串:234567812345678234567812345678 (30 个字符)
我不确定为什么它会删除零。我知道这个值是正确的;如果它在那里,我如何格式化它以保持零?
这个数字0x01234567真的只是0x1234567。数字文字中的前导零没有任何意义(除非您将前导 0 用于八进制数字文字)。
而不是使用String(value:radix:uppercase),使用String(format:)。
let num = 0x1234567
let str = String(format: "%08X", num)
Run Code Online (Sandbox Code Playgroud)
格式说明:
0需要用零填充字符串左端的方法。8你想要得到的结果是8个字符长手段X你想要装置的数量转换为大写的十六进制。x如果您想要小写十六进制,请使用。| 归档时间: |
|
| 查看次数: |
511 次 |
| 最近记录: |