I am trying to convert a string to long and it throws the NumberFormatException
. I don't think it is beyond range of long
at all.
Here is the code to convert, where count_strng
is the String I want to convert to long. trim()
function is not making any difference.
long sum_link = Long.parseLong(count_strng.trim());
Here is the stacktrace.
java.lang.NumberFormatException: For input string: "0.003846153846153846"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Long.parseLong(Long.java:441)
at java.lang.Long.parseLong(Long.java:483)
Anyone knows what is the exact issue here?
Long.parseLong()
is trying to parse the input string into a long
. In Java, a long
is defined such that:
The long data type is a 64-bit two's complement integer.
An integer is defined such that:
An integer (from the Latin integer meaning "whole") is a number that can be written without a fractional component.
The error you are getting shows the input string you are trying to parse is "0.003846153846153846"
, which clearly does have a fractional component.
You should use Double.parseDouble()
if you want to parse a floating point number.