问题在十六进制值转换为BIGINTEGER
问题描述:
我有长度的串uniqueCode 16.问题在十六进制值转换为BIGINTEGER
String uniqueCode = accountno + extracode;
accountno是长度为6的和附加码在下列方式填入:
String extraCode = branch + loanCode + openingDateStr ;
BigInteger hexaCode = new BigInteger(extraCode);
extraCode = hexaCode.toString(16); // hexa bit
现在我想从这个唯一的代码获取分支,loancode和openingdatestr。 如何做到这一点?
答
从extraCode
十六进制拿回原始字符串:
BigInteger decCode = new BigInteger(extraCode, 16);
extraCode = decCode.toString(10);
现在,你可以通过它们的长度提取extraCode
的组件。举例来说,如果branch
有6位数字,loanCode
有4个数字,你可以这样做:
String branch = extraCode.substring(0, 6);
String loanCode = extraCode.substring(6, 10);
为什么这需要一个`BigInteger`?如果您想对其执行某种形式的数学运算,通常只会将其转换为整数。如果它只是一个标识符,您可以将其保留为“String”。 – trojanfoe 2011-02-11 07:59:14