如何在Swift 3中将十六进制转换为十进制?(没有第三方图书馆和基础的自书面代码)



我正在寻找一种简单的方法将十六进制转换为Swift 3中的小数。例如,此代码将二进制转换为十进制,没有任何问题。

func convertToDecimal(binaryVal: String) -> String {
    var result: Int = 0
    for num in binaryVal {
        switch num {
        case "0": result = result * 2
        case "1": result = result * 2 + 1
        default: return "Error"
        }
    }
    return "(result)"     
}

也许有相同的解决方法,但仅使十六进制?

应该相同,您只需要更改'for'循环中的内容即可。因此,这样的事情将有效:

result = result * 16 + numValue

其中" numValue"是" num"的小数值,因此a为10,b,...,15对于f。

最新更新