将一个十六进制字符串转换为整数

3
我正在使用Swift编程,输入了一个字符串:"0x13123ac",我需要将其转换为Int类型输出:0x13123ac
请问如何实现?

https://stackoverflow.com/q/45667905/3908884 - Meet Doshi
这个SwiftRadix(https://github.com/orchetect/SwiftRadix)非常有用。 - Joannes
1个回答

11

您的问题没有意义。计算机将数字存储在二进制中,而不是十六进制。也许您想要将十六进制字符串转换为整数,并将其转换回十六进制以供显示:

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))")
}

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