Преобразование строки из формата 00:00 в двойной формат 00.00 после чтения из файла .txt? - PullRequest
0 голосов
/ 15 мая 2019

У меня есть текстовый файл с записями чисел в формате 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 голосов
/ 15 мая 2019

Полагаю, вы хотите иметь двойник для управления рабочим временем.

// 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

В качестве альтернативы можно использовать новый API времени Java.

0 голосов
/ 15 мая 2019

Я предполагаю, что вы получили строку в формате 00:00, поэтому вы можете сначала заменить ':' на '.' затем вы получите строку в формате 00.00, после чего проанализируйте эту строку, чтобы удвоить ее следующим образом.

Double.parseDouble(str.replace(':','.'))

здесь 'str' - это строка, которую вы получили в формате 00:00.

...