我有字符串值。
值为:
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不会将值视为数字而不会格式化它。它将值写为完全是一个字符串。答案 0 :(得分:3)
您提到您在两个不同的应用程序中打开了CSV。第一个是剪辑它或格式化它,所以你没有看到真正的价值(例如Excel)。你的程序是正确的。
如果您使用的应用程序是用于打开的Excel,则需要在编写之前将值括在双引号(“)中。 csv应如下所示:
"India","China","United States","12345.1234567890123456"
这是因为Excel无法识别具有此精度的数字,因此需要将其视为字符串。