#Math.log10(doble d)で数値の桁を取る
下記は10進法の例です。
例えば、桁数を単純に取りたいなら、結果の整数部分に対して+1すると桁数が求められる。
groovy:
//1010
assert Math.log10(100.0)==2
assert 10 ** 2==100.0
//1010*10
assert Math.log10(1000.0)==3
assert 10**3==1000.0
//結果は2.0211892990699383
println Math.log10(105)
//結果は105.00000000000004
println 10 ** 2.0211892990699383
私のように、Log関数とかが記憶の彼方な人は下記の解説が便利。
http://w3e.kanazawa-it.ac.jp/math/q-and-a/sisuu-taisuu/henkan-tex.cgi?target=/math/q-and-a/sisuu-taisuu/question24.html