使用BufferReader将String转换为Long

时间:2015-06-18 10:34:01

标签: long-integer primitive-types

我试图将输入读取字符串转换为long(Long)。我尝试了valueof()Long.Parslong(String s),但没有运气。我不知道发生了什么事。我当然可以打印String但不能转换为Long):

while ((line = br.readLine()) != null) {
                String[] sheet = line.split(cvsSplitBy);    //comma as separator
                if(isNumeric(sheet[3])){                    //parse into integer, only if first col is num 
                    int n = Integer.parseInt(sheet[0]);
                    int pop = Integer.parseInt(sheet[3]); 
                    System.out.println(sheet[4]);
                    System.out.println(sheet[4].getClass().getName()); 
                    Long lon  = Long.valueOf(sheet[4]); //THIS IS WHERE THE ERROR OCCURS

......跳过

错误是通常的 NumberFormatException

Exception in thread "main" java.lang.NumberFormatException: For input string: "34.95" 

有什么想法吗?谢谢Aj

1 个答案:

答案 0 :(得分:0)

专注于异常的描述。

For input string: "34.95" 

它具有十进制值,无法转换为Long。您可以使用Double.valueOf("34.95")或对非整数值进行验证。