我正在嘗試將包含no.s的BigInteger或String變量轉換爲BigInteger數組。 我該如何做到這一點。請回復。例如 。將字符串轉換爲Java中的BigInteger數組
BigInteger = 278490638904984
BigInteger Array = [2,7,8,4,9,0,6,3,8,9,0,4,9,8,4]
我正在嘗試將包含no.s的BigInteger或String變量轉換爲BigInteger數組。 我該如何做到這一點。請回復。例如 。將字符串轉換爲Java中的BigInteger數組
BigInteger = 278490638904984
BigInteger Array = [2,7,8,4,9,0,6,3,8,9,0,4,9,8,4]
你應該能夠做到這一點:
BigInteger bi = new BigInteger(myString);
然後,您必須將它賦值給一個位置BigIntegers的數組。
請注意,如果您的字符串無法轉換,它將引發NumberFormatException。
用於哪個目的?這是一個有點怪......
BigInteger bi = new BigInteger("278490638904984");
String s = bi.toString();
int len = s.length();
BigInteger[] digits = new BigInteger[len];
for(int i = 0; i < len; ++i) {
digits[i] = BigInteger.valueOf(s.charAt(i)-'0');
}
public static void main(String[] args) {
String s = "278490638904984";
BigInteger[] big = new BigInteger[s.length()];
for (int i = 0; i < s.length(); i++) {
big[i] = new BigInteger(String.valueOf(s.charAt(i)));
}
System.out.println(Arrays.toString(big));
}
輸出:
[2, 7, 8, 4, 9, 0, 6, 3, 8, 9, 0, 4, 9, 8, 4]
嘗試轉換的BigInteger值的toString(),然後得到像str.length字符串長度(),並創建一個所需大小的數組。
這之後,您可以用值填充數組:
array[i] = new BigInteger(str.substring(i, i+1));
這不是輝煌的解決方案,但應該做的工作。
charAt(i) - '0'等於Character.toNumericValue() –