基数10からの基数変換でこれを行うことはできますか? もしそうなら、生成された文字列の長さを最大10文字に制限するために変換するのに最適なベースはどれですか?
ありがとう
16進数はあなたのニーズに合うでしょう。
999999999999
16進数で最大の12桁の数字e8d4a50fff
は、わずか10文字です。
底が 10 の最大の 12 文字数は 999 999 999 999 です。
Ruby の小さなスニペットは、10 文字の文字列を確実に作成するために使用できる最小の基数が基数 16、つまり 16 進数であることを示しています。
1.9.3-p194 :044 > 999999999999.to_s(15)
=> "1b02b766469"
1.9.3-p194 :045 > 999999999999.to_s(15).length
=> 11
1.9.3-p194 :046 > 999999999999.to_s(16)
=> "e8d4a50fff"
1.9.3-p194 :047 > 999999999999.to_s(16).length
=> 10