CSV和大值

时间:2015-10-02 12:04:39

标签: java csv

我有字符串值。

值为:

12345.123456789012345

我想将此值写入java的csv文件。我使用OpenCSV。 这是代码。

    String csv = "D:\\denemehttp\\dene.csv";
    CSVWriter writer = new CSVWriter(new FileWriter(csv));

    String [] country = "India#China#United States#12345.1234567890123456".split("#");

    writer.writeNext(country);

    writer.close();

但是当我打开csv时,值为:

12345.123456789

但必须是:

12345.123456789012345

请注意,当我使用Notepad ++打开csv文件时,它会显示真实值:

12345.123456789012345

那么问题是什么?

编辑:我找到了解决方案。我尝试使用Apache POI并且它可以工作。您可以使用APACHE POI设置单元格类型,并且excell不会将值视为数字而不会格式化它。它将值写为完全是一个字符串。

1 个答案:

答案 0 :(得分:3)

您提到您在两个不同的应用程序中打开了CSV。第一个是剪辑它或格式化它,所以你没有看到真正的价值(例如Excel)。你的程序是正确的。

如果您使用的应用程序是用于打开的Excel,则需要在编写之前将值括在双引号(“)中。 csv应如下所示:

"India","China","United States","12345.1234567890123456"

这是因为Excel无法识别具有此精度的数字,因此需要将其视为字符串。