我想串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)) 。 –