从String异常中解析Long

时间:2018-02-23 11:20:32

标签: java android parsing long-integer

在尝试将简单的String解析为long值时,我遇到了一个非常棘手的异常。

public class Utils {
public static double tryParseLong(String s) {
    try {
        return Long.parseLong("45.6", 10);
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        return 0;
    }
}

}

java.lang.NumberFormatException: For input string: "45.6"

2 个答案:

答案 0 :(得分:2)

45.6不长,它是浮点数或双倍,因此错误。使用Double.parseDouble。

答案 1 :(得分:1)

" 45.6"不是Long的有效值,因为 Long不能包含浮点数,这就是您获得异常的原因。

如果你只想解析Integral部分(即45),那么你可以先从String解析Double,然后像这样将它转换为Long,

(long) Double.parseDouble("45.6");

它将返回45。