我试图将输入读取字符串转换为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
答案 0 :(得分:0)
专注于异常的描述。
For input string: "34.95"
它具有十进制值,无法转换为Long。您可以使用Double.valueOf("34.95")
或对非整数值进行验证。