porcentaje - Convertir un entero en una cadena hexadecimal en Ruby
ruby division (5)
¿Existe una forma integrada de convertir un entero en Ruby en su equivalente hexadecimal?
Algo como lo contrario de String#to_i
:
"0A".to_i(16) #=>10
Como tal vez
"0A".hex #=>10
Sé cómo usar el mío, pero probablemente sea más eficiente usar una función Ruby incorporada.
Aquí hay otro enfoque:
sprintf("%02x", 10).upcase
Consulte la documentación de sprintf
aquí: http://www.ruby-doc.org/core/classes/Kernel.html#method-i-sprintf
En caso de que tenga una preferencia por el formato de los números negativos:
p "%x" % -1 #=> "..f"
p -1.to_s(16) #=> "-1"
Para resumir:
p 10.to_s(16) #=> "a"
p "%x" % 10 #=> "a"
p "%02X" % 10 #=> "0A"
p sprintf("%02X", 10) #=> "0A"
p "#%02X%02X%02X" % [255, 0, 10] #=> "#FF000A"
Puedes dar a una base distinta de 10:
10.to_s(16) #=> "a"