我正在用 java 读取以下 CSV 文件,
1191196800.681 - !AIVDM,1,1,,,13aG?N0rh20E6sjN1J=9d4<00000,0*1D
这是我的代码,用于读取此 CSV 文件并将 CSV 文件的第一列(字符串)转换为 double
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
提前致谢。
最佳答案
temp 和 i 完全一样,只是 double 值用科学计数法格式化。如果你喜欢使用 DecimalFormat,你可以使用不同的格式。例如。
关于java - 在java中将String转换为double。更改打印 double 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10666127/