java - 在java中将String转换为double。更改打印 double 格式

标签 java csv

我正在用 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/

相关文章:

java - 自定义 JAXB 验证错误消息

java - Java 的 NoSQL 数据库比较

mysql - CSV 数据未插入相应的 MySQL 表中

csv - 有什么方法可以只从 Pig 中的 CSV 中读取所需的列吗?

php - 如何使用 php 将两个 csv/制表符分隔成一个 csv?

java - 需要有关为小型 Java 程序创建关闭按钮的建议

java - 只读取扫描仪中的数字

java - 如何在 Cucumber java 中使用嵌套场景大纲

javascript - 带 Y 值跟踪的 D3.js 多系列图表

java - Encog SVM 无法训练