我正在尝试将 BigInteger 或包含 no.s 的 String 变量转换为 BigInteger 数组。我怎样才能做到这一点。请回复。例如。
BigInteger = 278490638904984
BigInteger Array = [2,7,8,4,9,0,6,3,8,9,0,4,9,8,4]
我正在尝试将 BigInteger 或包含 no.s 的 String 变量转换为 BigInteger 数组。我怎样才能做到这一点。请回复。例如。
BigInteger = 278490638904984
BigInteger Array = [2,7,8,4,9,0,6,3,8,9,0,4,9,8,4]
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 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' );
}
尝试将 BigInteger 值转换为 String(),然后像 str.length() 一样获取字符串的长度并创建所需大小的数组。
在此之后,您可以用值填充数组:
array[i] = new BigInteger(str.substring(i, i+1));
这不是出色的解决方案,但应该可以完成工作。