gpt4 book ai didi

ruby - 如何将整数从 36 进制转换为 10 进制?

转载 作者:数据小太阳 更新时间:2023-10-29 07:46:29 29 4
gpt4 key购买 nike

我想将一个整数编码为 36 进制,然后将其解码为 10 进制。编码步骤很简单:

12345.to_s(36)
=> "9ix"

现在我想将其解码回以 10 为基数的整数。但这不起作用:

"9ix".to_i(10)
=> 9

那我该怎么写

def base36to10(36)
# ?
end

这样

r = rand(100000)
base36to10(r.to_s(36)) == r

?

最佳答案

您不是从 10 进制转换,而是从 36 进制转换,例如,在 Ruby 控制台或 irb 中:

> "9ix".to_i(36)
#=> 12345

转述自 the docs :

Returns result of interpreting str as integer base base (between 2 and 36).

也就是说,在碱基之间转换数字不是微不足道的吗?遍历字符、相乘、相加。

关于ruby - 如何将整数从 36 进制转换为 10 进制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19968750/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com