在 Ruby 中将整数转换为十六进制字符串
是否有内置方法可以将 Ruby 中的整数转换为其十六进制等效值?
类似于 String#to_i
:
"0A".to_i(16) #=>10
也许是这样:
"0A".hex #=>10
我知道如何自己开发,但使用内置的 Ruby 函数可能更有效。
Is there a built in way to convert an integer in Ruby into its hexadecimal equivalent?
Something like the opposite of String#to_i
:
"0A".to_i(16) #=>10
Like perhaps:
"0A".hex #=>10
I know how to roll my own, but it's probably more efficient to use a built in Ruby function.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
您可以提供
to_s
10 以外的基数:请注意,在 ruby 2.4 中,
FixNum
和BigNum
统一在Integer
类中。如果您使用的是较旧的 ruby,请检查 FixNum# 的文档
to_s
和 BigNum#to_s
You can give
to_s
a base other than 10:Note that in ruby 2.4
FixNum
andBigNum
were unified in theInteger
class.If you are using an older ruby check the documentation of FixNum#
to_s
and BigNum#to_s
如何使用
%
/sprintf
:How about using
%
/sprintf
:这是另一种方法:
请参阅此处的
sprintf
文档:http://www.ruby-doc.org/core/classes/Kernel.html#method-i-sprintfHere's another approach:
see the documentation for
sprintf
here: http://www.ruby-doc.org/core/classes/Kernel.html#method-i-sprintf总结一下:
To summarize:
以防万一您对负数的格式有偏好:
Just in case you have a preference for how negative numbers are formatted: