写入CSV文件时,超过15位的数字转换为0

时间:2015-02-02 10:40:27

标签: java string csv numeric

我必须准备一个包含数据和逗号的字符串。然后使用java.util.zip.ZipEntry.

将该字符串写入csv文件

现在的问题是:对于长度小于或等于15的数字,它可以正常工作。

对于超过15位数的数字数据,将转换为0。

所以我尝试在双引号之间使用括号来将数值数据转换为字符串以避免该问题。但这不起作用。

ZipEntry ze = new ZipEntry("my.csv");
ByteArrayOutputStream ba = new ByteArrayOutputStream();
ZipOutputStream zo = new ZipOutputStream(ba);
zo.putNextEntry(ze);
String csv = "123456789012345,12345678901234567890,\"hello\",";

zo.write(csv.getBytes());
zo.closeEntry();

有人可以对此提出一些建议吗?

1 个答案:

答案 0 :(得分:0)

只是猜测:您正在MS Excel中打开生成的csv。

使用文本编辑器检查文件。

有一个错误报告说:"Last digits are changed to zeroes when you type long numbers in cells of Excel"