我需要将数字(用空格分割)从文件(* .txt)转换为双重格式。
文件包含双格式数字行,如“3.50 3.51 -3.49 -3.50 -3.51”。但是这段代码抛出了ParseException“Unparseable number:”3.50“”,我无法理解它为什么会发生?我尝试使用Double.parseDouble和.valueOf做同样的事情,但它总是抛出异常。
我对异常的原因感兴趣,而不是另一种解决此任务的方法。有人可以向我解释一下吗?
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
Scanner fileI = new Scanner(new File(reader.readLine()));
NumberFormat nf = NumberFormat.getInstance();
while(fileI.hasNextLine())
{
String[] str = fileI.nextLine().split(" ");
for (String it: str)
{
System.out.println(nf.parse(it).doubleValue());
}
}
fileI.close();
答案 0 :(得分:0)
尝试使用Double.parseDouble(String s)
如果不是您想要的,请尝试执行类似
的操作for (String it: str)
{
try{
System.out.println(nf.parse(it).doubleValue());
}catch (ParseException e){
System.out.println("unappeasable number - "+it);
}
}