我有值String“2248880.0”,我想在android中使用代码转换为Long:
Long.parseLong( "2248880.0");
但我得错误
java.lang.NumberFormatException:无效长:“2248880.0”
所以如何解决?
答案 0 :(得分:7)
这不是Long值,因此您需要先将其解析为Double或Float。之后你可以将它投射到Long。
或者您可以从字符串中删除.000。
答案 1 :(得分:3)
java.lang.NumberFormatException: Invalid long: "2248880.0"
NumberFormatException是一个可能在您抛出的异常 尝试将String转换为数字,其中该数字可能是一个数字 int,float或任何其他Java数字类型。
首先删除.
然后使用。
long YourLongObj = Long.parseLong("Your_string");
请阅读 How can I convert String to Double without losing precision in Java
答案 2 :(得分:3)
使用此 -
getFilesDir()
这会将您的答案(long value = (long) Double.parseDouble("2248880.0");
类型)转换为double
类型。
答案 3 :(得分:1)
首先声明一个长变量:
long l;
然后初始化它:
l= (long) Double.parseDouble("2248880.0");
这是因为您拥有的值是双重格式,因此您必须首先将其解析为double,然后从double解析为long。