我有一个Integer值,要在CSV文件中正确导出和显示。
这个值是这样透露的:
1,13364E+12
而不是像这样:
08136677950770
我使用BufferedWriter编写文件,代码如下:
writer.write(data[0].toString());
writer.write(";");
我试过这样:
writer.write("\'"+data[0].toString()+"\'");
writer.write(";");
但它显示了这个:
'08136677950770'
如何在没有引号的情况下显示此值?
08136677950770
答案 0 :(得分:1)
我建议您使用BigInteger,它与String
表示法一起使用。
要使用简单的toString()
方法获取其值。
BigInteger bi = new BigInteger("1234567890");
String str = bi.toString();
答案 1 :(得分:0)
当您使用microsoft excel或某些应用程序打开csv时,它会以1,13364E + 12的方式显示。 这并不意味着价值已经改变。以其喜欢的方式格式化它是优秀的。但价值仍然相同。
您可以使用普通记事本打开它并查看实际值。
再次尝试更改
writer.write("\'"+data[0].toString()+"\'");
到
writer.write("\""+data[0].toString()+"\"");
如果它不起作用,则为此。
writer.write(data[0].toString()+"");
答案 2 :(得分:0)
我已经尝试过你的解决方案,但没有一个能够解决问题。
我找到了最后添加简单制表符(/ t ASCII 9)的解决方案:
writer.write(data[0].toString()+"\t");