я читаю следующий CSV-файл в Java иПреобразование строки, чтобы удвоить в java. Изменение формата печатных двойной
1191196800.681 - !AIVDM,1,1,,,13aG?N0rh20E6sjN1J=9d4<00000,0*1D
Вот мой код, чтобы прочитать этот CSV-файл и конвертировать 1-й столбец файла CSV (который является String) к двойной
public class ReadCSV {
public static void main(String[] args) {
try {
BufferedReader CSVFile = new BufferedReader(new FileReader(
"C:\\example.txt"));
try {
String dataRow = CSVFile.readLine();
while (dataRow != null) {
String[] dataarray = dataRow.split("-");
String temp = dataarray[0];
double i = Double.parseDouble(temp);
System.out.println(temp);
System.out.println(i);
dataRow = CSVFile.readLine();
}
} catch (IOException e) {
e.printStackTrace();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
Когда я выполняю код я получаю следующие значения
1191196800.681
1.191196800681E9
Почему значение переменных «темп» и «i» не одинаково. Какие изменения необходимо внести в код, чтобы получить следующие значения:
1191196800.681
1191196800.681
Заранее спасибо.
Не печатать его в стандартная научная нотация? Попробуйте printf/format. –
'1.191196800681E9 == 1191196800.681' –