代码如下: import java.math.BigDecimal; public class Test { private int change(char c) { switch(c) { case '1':return 1; case '2':return 2; case '3':return 3; case '4':return 4; case '5':return 5; case '6':return 6; case '7':return 7; case '8':return 8; case '9':return 9; case 'a':return 10; case 'b':return 11; case 'c':return 12; case 'd':return 13; case 'e':return 14; case 'f':return 15; default:return 0; } } String str="c265e4bd629300c5cba88450874b7769800d3d266518e10d"; public String run() { char[] s=str.toCharArray(); String rs=""; BigDecimal result=new BigDecimal("0"); for(int i=0;i<s.length;i++) { BigDecimal sta=new BigDecimal(change(s[i])); BigDecimal quan=new BigDecimal(16).pow(s.length-1-i); result=result.add(sta.multiply(quan)); } return rs=result.toString(); } public static void main (String[] args) { Test t=new Test(); System.out.println(t.run()); } } 答案是4766625618663571497836132322132490719026828879351160299789 看看对不对了。