我想串9C72E0FA11C2E6A8转换为十进制值的十六进制值:将字符串转换成一个非常大的数字
String strHexNumber = "9C72E0FA11C2E6A8";
Long decimalNumber = Long.parseLong(strHexNumber, 16);
System.out.println("Hexadecimal number converted to decimal number");
System.out.println("Decimal number is : " + decimalNumber);
我有望获得价值11273320181906204328
,但我得到了
Exception in thread "main" java.lang.NumberFormatException: For input string: "9C72E0FA11C2E6A8"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Long.parseLong(Long.java:592)
at ConvertHexToDecimalExample.main(ConvertHexToDecimalExample.java:22)
如何我可以将十六进制转换为十进制的Java?
谢谢!
数量显然比长大得多,所以使用'parseLong'将无法正常工作。尝试['BigInteger(String,int)'](https://docs.oracle.com/javase/7/docs/api/java/math/BigInteger.html#BigInteger(java.lang.String,%20int)) 。 –