将十六进制转换为十进制在swift中
问题描述:
如何将十六进制转换为十进制的swift?将十六进制转换为十进制在swift中
我有字符串 “423fdf4dfb1115”,我需要得到这个=> 18647576781459733.
我试试这个:
let result = UInt8(strtoul("423fdf4dfb1115", nil, 16))
但应用程序崩溃...
我使用这个在线转换: http://www.binaryhexconverter.com/hex-to-decimal-converter
答
令结果= UINT64(strtoul将( “423fdf4dfb1115”,零,16))
答
结果必须是UInt64
(UInt8.max
是255)。
有一个方便的初始化程序,strtoul
是不需要的。
let string = "423fdf4dfb1115"
let result = UInt64(string, radix:16)
答
你需要得到诠释,从而更好地使用Int()
,应该说这是十六进制radix: 16
像下面。
斯威夫特3
let result = "423fdf4dfb1115"
let intResult = Int(result , radix: 16)
print(intResult)
您通过串 –
你为什么铸造结果的UINT8需要循环?你有一个非常大的数字,它不可能适合一个小UInt8。 – Gruntcakes
您提供的HEX号码(423fdf4dfb1115)为18,596,864,257,291,000。 我在excel(单元格x 16^0)中证明了这一点,并为每个数字增加一个额外值并对每个数字求和。 – Stevan