I want to convert a Hex String to decimal, but I got an error in the following code:
String hexValue = "23e90b831b74";
int i = Integer.parseInt(hexValue, 16);
The error:
Exception in thread "main" java.lang.NumberFormatException: For input string: "23e90b831b74"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:495)
23e90b831b74
is too large to fit in an int
.
You can easily see that by counting the digits. Each two digits in a hex number requires a single byte, so 12 digits require 6 bytes, while an int
only has 4 bytes.
Use Long.parseLong
.
String hexValue = "23e90b831b74";
long l = Long.parseLong(hexValue, 16);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With