【发布时间】:2016-06-14 20:03:24
【问题描述】:
如何快速将十六进制转换为十进制?
我有字符串“423fdf4dfb1115”,我需要得到这个 => 18647576781459733。
我试试这个:
let result = UInt8(strtoul("423fdf4dfb1115", nil, 16))
但应用崩溃...
我使用这个在线转换: http://www.binaryhexconverter.com/hex-to-decimal-converter
【问题讨论】:
-
你需要遍历字符串
-
为什么要将结果转换为 UInt8?你有一个非常大的数字,它不可能适合一个小的 UInt8。
-
您提供的十六进制数 (423fdf4dfb1115) 是 18,596,864,257,291,000。我在 excel(单元格 x 16^0)中证明了这一点,并为每个数字增加一个,并对每个数字的结果求和。