在Ruby中将整数转换为十六进制字符串

问题描述 投票:206回答:5

是否有将Ruby中的整数转换为其等效的十六进制的内置方法?

类似于String#to_i的反面:

String#to_i

例如,也许:

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

我知道如何滚动自己,但是使用内置的Ruby函数可能更有效。

ruby hex base-conversion
5个回答
325
投票

您可以给"0A".hex #=>10 设置10以外的基数:

to_s

请注意,在ruby 2.4中,to_s10.to_s(16) #=> "a" 统一在FixNum类中。如果您使用的是较旧的红宝石,请查看BigNumInteger]的文档


88
投票

如何使用FixNum#to_s / to_s


78
投票

总结:


14
投票

这是另一种方法:


4
投票

如果您偏爱如何设置负数的格式:

© www.soinside.com 2019 - 2024. All rights reserved.