十六进制到十进制 - Swift

Hex to Decimal - Swift

抱歉,如果这看起来很简单,我只是无法在网上找到它。

我有一个十六进制的 UInt8,我需要将它转换为十进制。我如何在 swift 中实现这一点?

例如:

"ff"

谢谢

您可以使用函数 strtoul 将十六进制转换为十进制:

let result = UInt8(strtoul("ff", nil, 16))  // 255

如果你有一个字符串表示,"ff",你可以使用UInt8(_:radix:):

let string = "ff"
if let value = UInt8(string, radix: 16) {
    print(value)
}

试试这个代码,它对我有用。

//十六进制转十进制

let h2 = "ff"
let d4 = Int(h2, radix: 16)!
print(d4) 

希望这对某些人有所帮助

如果你的HEX值不是字符串,而只是你想在编译时转换的东西,你也可以使用:

let integer : UInt8 = 0xff

所以在它前面加上 0x 就可以了。