この記事は Ruby を前提とするが,多くの言語で似たようなことが言えると思う。 何の話? 正の整数 x が 10 進法で何桁になるか,を求めるやり方はいくつもある。 そのうちの一つが なのだが,本当にこれで正しい答えが得られるのだろうか,という話。 数学が苦手でも,Ruby をあまり知らなくても分かるよう,なるべく丁寧に見ていく。 しかし,結論だけを知りたい方は それでいいのか? の節にどうぞ。 桁数を求めるいろいろなやり方 この節では,ローカル変数 x に正の整数が代入されているとする。 Ruby はメモリーなどの条件が許せばどんな大きな整数も扱うことができる。 文字列化 Ruby の整数(Integer クラス)には,N 進法で表した数字列を生成する Integer#to_s というメソッドがある。 引数を省略すると,10 進法の数字列が得られる。