我有十六进制数,我想将它们转换为十进制数。例如,01 -> 1、09 -> 9、12 -> 18。
我试过了:
01.unpack("n")
但这失败了。
"01".unpack("n") # => [12337]
这不是我想要的。
你知道正确答案吗?
>String#to_i
接受一个额外的参数,这是要使用的数字基数。十六进制以 16 为基数,因此以下内容将适合您:
"01".to_i(16)
在其上调用 Integer
函数也可以工作,只要该数字具有0x
前缀:
Integer("0x01")