从.txt文件读取后,将字符串从00:00格式转换为双精度00.00格式?

时间:2019-05-15 20:04:32

标签: java string parsing double java.util.scanner

我有一个文本文件,其中包含数字条目,格式为00:00。我知道如何从文件中读取此字符串。我不知道如何解析它,以便小数点的左侧知道与右侧连为一个数字。

如果我在一个拆分内进行拆分,则当我只想要一个拆分时,内部拆分会给我两个值。


File database = new File (FILE);        
Scanner read = new Scanner (database);
String [] dataEntry;
String [] times;
float [] correctTime = null;

    while (read.hasNext ())
    {
        dataEntry = read.nextLine().split(",");  

        times = dataEntry[0].split(":");
        correctTime = new double[times.length];
        //I get stuck here, I know the above line is incorrect              

    }

2 个答案:

答案 0 :(得分:0)

我假设您有一个00:00格式的字符串,因此您可以先将':'替换为'。'。那么您将获得00.00格式的字符串,然后将其解析为如下所示的两倍。

HTTP/1.1 200 OK Date: Wed, 15 May 2019 20:17:22 GMT Vary: Accept-Encoding Last-Modified: Wed, 15 May 2019 20:17:22 GMT Content-Type: text/css ETag: W/"H/6qTDwA8vsH/6rJoEknqc" Accept-Ranges: bytes Content-Length: 11222

这里的“ str”是您采用00:00格式的字符串。

答案 1 :(得分:0)

我想您想兼具工作时间管理之类的东西。

// 06:30 -> 6.5
// 07:45 -> 7.75
String[] hhmm = dataEntry[0].split(":");
int hh = Integer.parseInt(hhmm[0]);
int mm = Integer.parseInt(hhmm[1]);
double decimalTime = hh + mm / 60.0; // Floating point division because of 60.0

或者可以使用新的Java时间API。