variable - to_i to_s ruby




Convertendo um inteiro em uma string hexadecimal em Ruby (4)

Existe um caminho embutido para converter um inteiro em Ruby em seu equivalente hexadecimal?

Algo como o oposto de String#to_i :

"0A".to_i(16) #=>10

Como talvez:

"0A".hex #=>10

Eu sei como fazer o meu próprio, mas é provavelmente mais eficiente usar uma função Ruby embutida.


Apenas no caso de você ter uma preferência de como números negativos são formatados:

p "%x" % -1   #=> "..f"
p -1.to_s(16) #=> "-1"


Que tal usar % / sprintf :

i = 20
"%x" % i  #=> "14"

Você pode dar to_s uma base diferente de 10:

10.to_s(16)  #=> "a"




base-conversion