2011-07-20 8 views
1

'n'がユーザによって決定されたときに数字の最初のn桁を表示する方法を作成することができません。Javaの数字の最初のn桁を表示します

たとえば、ユーザーは整数 '1234567'と数字の桁数を入力して '3'を表示します。次に、この方法は「123」を出力する。

私は、最初の桁を表示する方法のアイデアがあります:

long number = 52345678; 
long prefix = number /= (int) (Math.pow(10.0, Math.floor(Math.log10(number)))); 

をしかし、私は、ユーザー定義の最初のn桁の数字を表示する方法を見つけ出すことができないように見えます。

ありがとうございました!

+1

を行うことができますこの行に等しい 'long prefix = number/=(int)(Math.pow(10.0、Math.floo r(Math.log10(number))))); '? –

答えて

14
int a = 12345; 
int n = 3; 
System.out.println((""+a).substring(0, n)); 

あなたは数たい場合:あなたは数自体が必要な場合は2があるのはなぜ

int b = Integer.parseInt((""+a).substring(0, n)); 
+0

+1。時間内に私を打ち負かす........ :-) –

+0

Integer.parseIntを実行していましたが、その背後に数学を表示したかった –

+1

最も簡単なのは、String.valueOf(a)を実行しますが、 – Tom

2

をあなたはこの

String num = number + ""; 
return num.substring(0, numDigits); 

を行うことができます

int div = Math.pow(10, numDigits); 
while (number/div > 0) 
    number /= 10; 
関連する問題