从命令提示符[Java]中删除问号

时间:2015-04-08 02:34:38

标签: java arrays substring latitude-longitude

您好,我正在尝试对纬度数进行子串 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,然后无法使用它来查找两个地方之间的距离并且崩溃。

我不确定为什么会这样做。

1 个答案:

答案 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;