int a=000123,b=1
int len=(int)Math.log10(a)+1;
while((a=a/10)!=0)
{
++b;
}
System.out.println("Number of Digits:"+b);
出力: 桁数:3 左側にある場合はゼロをカウントしません。ゼロの数字も数える方法はありますか?数字がゼロから始まる場合、整数の数字の桁数を調べる方法は?
int a=000123,b=1
int len=(int)Math.log10(a)+1;
while((a=a/10)!=0)
{
++b;
}
System.out.println("Number of Digits:"+b);
出力: 桁数:3 左側にある場合はゼロをカウントしません。ゼロの数字も数える方法はありますか?数字がゼロから始まる場合、整数の数字の桁数を調べる方法は?
こんにちは、私はあなたがする 最善のことは、文字列として番号を取得し、あなたが物事
「キャスト」という単語を使用するように注意してください。代わりに 'Integer.parseInt'が必要です。 – byxor
があなたのサイドライトかもしれませんが、私はロジックが何ですか? –
はいshureあなたは正しい古いhabbitsnです私は答えを –
を計算したいときnteger.parseIntを使ってint型にキャストしていることを行うことができるとは思わないそのint型の場合(そして文字列ではない)、それを定義したときに正面にいくつのゼロが格納されているかは記憶されません - 000123
は0123
とまったく同じです。しかし、ゼロ(1つまたは複数)を使用して数値を開始すると、数値を8進表記で定義していることを意味します。したがって、int a=000123; System.out.println(a);
は83
を出力します。
'int'の代わりに' String'を使います。先行0は、Javaで考えているのとは異なる意味を持っています。 – Eran
これを達成するには文字列を使用する必要があります。整数は先行ゼロを保存しません。 –
注意してください。 '000123'(javaは8進数と考える)は実際には83(10進数)です。 – byxor