有没有一种内置的方法可以将Ruby中的整数转换为十六进制的等效值?

类似于String#to_i的反面:

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

比如:

"0A".hex #=>10

我知道如何实现自己的功能,但使用内置的Ruby函数可能更有效.

推荐答案

你可以给to_s个基数,而不是10个:

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

注意,在ruby 2.4中,FixNumBigNum统一在Integer类中.

Ruby相关问答推荐

使用Mac命令行解密用Ruby加密的Zip

Ruby 中的 Float#floor 和 Float#to_i 有什么区别?

Jekyll 默认安装没有 _layouts 目录

如何增加 ruby​​ 应用程序的堆栈大小.递归应用程序获取:堆栈级别太深(SystemStackError)

如何从 Ruby 中的线程返回值?

使用 Bundler 时,为什么要关心 RVM 的 Gemset 功能?

将ruby数组转换为连续对数组

Ruby 中的 :+ 和 &:+ 是什么?

Ruby数组中的`return`#map

如何在不按 Enter 的情况下获取单个字符?

如何获取从位置 N 到 Ruby 中最后一个字符的子字符串?

铲子 (<<) 运算符如何在 Ruby 哈希中工作?

如何在 Ruby 中找到除法的余数?

如何在Ruby中对数组中对象的属性求和

Ruby CSV - 获取当前行/行号

我安装了一个 gem,但 require 'gemname' 不起作用.为什么?

如何在 Ruby 中获取堆栈跟踪对象?

为什么在安装 gem 时出现权限被拒绝错误?

在 Ruby 中使用元组?

如何在 Ruby 中创建整数循环?