2011-07-20 126 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

爲什麼有2等於這一行'long prefix = number/=(int)(Math.pow(10.0,Math.floo R(Math.log10(編號))));'? –

回答

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

如果你想一個數字:

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;