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