我在Swift工作,我把这个字符串作为输入:"0x13123ac"
我希望Int
作为输出:0x13123ac
我该怎么做?
答案 0 :(得分:6)
你的问题毫无意义。计算机以二进制存储数字,而非十六进制也许您想要的是将十六进制字符串转换为整数并将其转换回十六进制以用于显示目的:
let input = "0x13123ac"
// Int(_, radix: ) can't deal with the '0x' prefix. NSScanner can handle hex
// with or without the '0x' prefix
let scanner = Scanner(string: input)
var value: UInt64 = 0
if scanner.scanHexInt64(&value) {
print("Decimal: \(value)")
print("Hex: 0x\(String(value, radix: 16))")
}