繁体   English   中英

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

[英]Number with more than 15 digits converts to 0 while writing to CSV file

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

现在的问题是:对于长度小于或等于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();

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

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

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

有一个错误报告,其中指出: “当您在Excel单元格中键入长数字时,最后一位将变为零”

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM