【发布时间】:2012-11-04 13:04:28
【问题描述】:
我想将一个字符串(比如"abc")转换为具有相应 ascii 的 int:在本例中为 979899。
我遇到了两个问题:
1) 我写的内容仅适用于 ascii 长度为两个字符且
的字符2) 由于这些数字变得非常大,我不能使用 long,而且我在使用 BigInteger 时遇到了麻烦。
这是我目前所拥有的:
BigInteger mInt = BigInteger.valueOf(0L);
for (int i = 0; i<mString.length(); i++) {
mInt = mInt.add(BigInteger.valueOf(
(long)(mString.charAt(i)*Math.pow(100,(mString.length()-1-i)))));
}
任何建议都会很棒,谢谢!
【问题讨论】:
-
不要再投长。您是否尝试删除长演员表?
-
valueOf()的参数很长,所以必须要。
-
不用valueOf(),只用构造函数,new BigInteger(String.valueOf(yourCode));docs.oracle.com/javase/1.5.0/docs/api/java/math/…