• ベストアンサー

整数の桁数が取得できません

Javaで整数の桁数を取得するには、以下の方法しかないのでしょうか? int num = 123; // の桁数3を取得するには int keta = Integer.toString(num).length;

質問者が選んだベストアンサー

  • ベストアンサー
  • kutar
  • ベストアンサー率80% (12/15)
回答No.2

No.1の方の回答で取得できます。 ただlogを使うと重くなる(処理が遅くなる)との声もあるようです。(参考URL参照) ちなみにこんな方法でも取得できます。 while(0<num){ num /= 10; keta++; } ただこの方法ですとループが終わった(桁数が取得できた)後、 numの値が0になっていますので、numの値は必ず別の変数に 保持しておいてください。 ちなみに私はいつもmatchoriさんの方法で桁数取得しています。 それでは!

参考URL:
http://www.vc-net.ne.jp/~ytp/bbs/java/bbs6333.html
matchori
質問者

お礼

回答ありがとうございます。 私の方法で大丈夫なようで安心できました(^^)

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • yurarinco
  • ベストアンサー率34% (20/58)
回答No.1

int keta = (int)(Math.log(num)/Math.log(10)) + 1; でも計算できると思います。

すると、全ての回答が全文表示されます。

関連するQ&A