我讀Java中的以下CSV文件和將字符串轉換爲java中的double。更改格式打印雙
1191196800.681 - !AIVDM,1,1,,,13aG?N0rh20E6sjN1J=9d4<00000,0*1D
這裏是我的代碼讀取此CSV文件,並轉換成CSV文件的第1列(這是一個字符串)到雙
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
爲什麼變量「temp」和「i」的值不一樣。我必須在代碼中做什麼更改才能獲得以下值:
1191196800.681
1191196800.681
在此先感謝。
不要在打印默認的科學記數法?嘗試printf /格式。 –
'1.191196800681E9 == 1191196800.681' –