BigInteger番号を分割したい
(1612513671536531537631747547475745713467754864474894674969787486558856856587856595095785859828347864647647545474665743827865765785635689266855775685657587586565858655985865858568585856858)
20桁の数字に変換します。どうすればよいですか。ありがとうございます。
BigInteger番号を分割したい
(1612513671536531537631747547475745713467754864474894674969787486558856856587856595095785859828347864647647545474665743827865765785635689266855775685657587586565858655985865858568585856858)
20桁の数字に変換します。どうすればよいですか。ありがとうございます。
文字列として受け取った後、次のように分割してみることができます
String s = "1612513671536531537631747547475745713467754864474894674969787486558856856587856595095785859828347864647647545474665743827865765785635689266855775685657587586565858655985865858568585856858";
String [] numbers =s.split("(?<=\\G.{20})");
for(String num:numbers){
System.out.println(num);
}
と出力
16125136715365315376
31747547475745713467
75486447489467496978
74865588568565878565
95095785859828347864
64764754547466574382
78657657856356892668
55775685657587586565
85865598586585856858
5856858
文字列にキャストしてから使用する
String strBigInt = <yourBigInt>.toString();
List<String> parts = new ArrayList<String>();
while(strBigInt.length > 20){
parts.add(strBigInt.substring(0,20));
strBigInt = strBigInt.substring(20);
}
parts.add(strBigInt);
12345678901234567891は1234567890123456789および1になります
String s = bi.toString();
List<String> parts = new ArrayList<String>();
for (int i = 0; i < s.length(); i += 20)
parts.add(s.substring(i, Math.min(i + 20, s.length())));
System.out.println(parts);
プリント
[16125136715365315376、31747547475745713467、75486447489467496978、74865588568565878565、95095785859828347864、64764754547466574382、78657657856356892668、55775685657587586565、85865598586585856858、5856858]