首页 > 解决方案 > 红宝石中从十六进制到十进制的转换

问题描述

0xFFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFE_FFFFFC2F.ord => 115792089237316195423570985008687907853269984665640564039457584007908834671663

0xFFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFF_FFFFFFFE_FFFFFC2F.to_i => 115792089237316195423570985008687907853269984665640564039457584007908834671663

有人可以解释一下为什么这两种方法都返回相同的整数值吗?我不确定我是否理解方法命令...

返回字符串第一个字符的代码点,假设是单字节字符编码"

我发现了,但是在这里我得到了一个十六进制值,然后我使用了该方法然后得到了一个十进制值,所以“什么是十六进制?” :D

PS:肯定是十进制值还是我错了?

标签: rubyintegerhexord

解决方案


您已经引用并在String#ord这里调用-该值不是十进制,也不是字符串,而是整数。#ordInteger

Integer#ord文档

ord → self

返回int自身。

97.ord #=> 97 此方法旨在与 Ruby 1.9 中的字符文字兼容。


推荐阅读