您好,我正在尝试对纬度数进行子串 43°41'N
lat1 = latitude[curIndex1].substring(0, (latitude[curIndex1].indexOf("°")));
System.out.println(lat1);
lat1Converted = Double.parseDouble(lat1);
在netbeans中,我运行了程序,当我打印lat1时,它表示43程序的其余部分也能正常工作并完成所需的工作。
然而,当我进入命令提示符时,我收到错误,因为它认为43之后有一个问号。
当它打印1时,它会显示43?
因为我无法将其转换为double,然后无法使用它来查找两个地方之间的距离并且崩溃。
我不确定为什么会这样做。
答案 0 :(得分:0)
不要依赖学位:
Pattern p = Pattern.compile("-?\\d+"); // extracts numbers
Matcher m = p.matcher(latitude);
int degrees = m.find() ? Integer.parseInt(m.group()) : 0;
int minutes = m.find() ? Integer.parseInt(m.group()) : 0;
int seconds = m.find() ? Integer.parseInt(m.group()) : 0;