我正在尝试将double
打印成excel。在我的gui中,数字正确打印出来。
但是,当我将数字写入Excel文件时,数字在小数位后带有零。如有示例,数字1.10
在我的GUI中正确打印出来,但在excel中打印出1.1
。
double foo = 1.10;
writeline(foo.ToString("F2"));
我尝试了String.Format("{0:0.00}", foo.ToString("F2"));
而不解决此问题。我很确定问题是当数字进入Excel时,Excel在小数点位置后会截断所有零。有没有办法发送excel消息以在十进制之后打印两个位置?
我正在处理打开并关闭Excel文件的Elses代码。他们使用File.Create
和StreamWriter
来创建和打开Excel文件
String.Format("{0:0.00}", foo.ToString("F2"));
不起作用,因为您正在尝试格式化某些东西,这些东西已经转换为字符串。使用直接变量 - 您的foo应该返回数值,然后您可以这样使用它(示例):
String.Format("{0:0.00}", foo.GetDouble("F2"));
换句话说:
String.Format("{0:0.00}", "1.10"); //wrong
String.Format("{0:0.00}", 1.10d); //correct
我看到了一个简单问题的复杂答案,我也遇到了同样的问题,这就是为什么我来这里,但没有得到任何合理的答案。我已经弄清楚了,只需突出显示列,右键单击它----格式单元格-----将出现一个对话框,沿类别下达---数字,然后添加任意多的小数位置。