regulares porcentaje operador imprimir flotantes expresiones entero conversiones ruby hex base-conversion

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.


¿Qué hay de usar % / sprintf ?

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



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"