1. ホーム
  2. java

[解決済み] intの桁数を取得する方法は?

2022-03-23 17:33:10

質問

この方法よりも、もっと簡単にintの桁数を取得する方法はないでしょうか?

int numDigits = String.valueOf(1000).length();

解決方法は?

Stringベースの解法は全く問題ありません。数学的には、数字には長さも桁もないことを理解する必要があります。長さと桁数はどちらも 物理的表現 の数、つまり文字列です。

対数ベースのソリューションは、文字列ベースのソリューションが内部で行っていることと同じことを(いくつか)行い、長さのみを生成して桁を無視するため、おそらく(取るに足らないほど)速く行うことができます。しかし、私は実際にその方が意図的に明確であるとは考えないでしょう - そしてそれが最も重要な要素です。