今天同事跑來問拜歐,如何把一個
long
型態的長整數,比如說,把
5678
拆成
5
、
6
、
7
、
8
等四個數字要怎麼做,其實先把長整數使用
String.valueOf
轉成字串,再使用
String
類別中的
charAt
就可以輕鬆辦到。
package idv.jk.util.lang;
public class LongUtils
{
public static int[] spitLongToIntArray(long inNumber)
{
String strNumber = String.valueOf(inNumber);
int length = strNumber.length();
int[] results = new int[length];
for(int i = 0; i < length; i++)
{
results[i] = Character.getNumericValue( strNumber.charAt(i) );
}
return results;
}
//test
public static void main(String[] argv)
{
for(int i : spitLongToIntArray(5678))
{
System.out.print(i + ",");
}
}
}
執行結果如下:
5,6,7,8,
這裡要注意的是,若傳入的是負數,字元
-
經由
Character.getNumericValue
,關於該方法更詳細的說明,可以參考
Java文件,如傳入
-5678
,執行結果則為:
-1,5,6,7,8,
若有處理負數的需要,則需多加一些處理。
沒有留言:
張貼留言