我正在尝试打印出double
以表现出色。在我的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文件的代码。他们正在使用File.Create
和StreamWriter
来创建和打开Excel文件
答案 0 :(得分:2)
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
答案 1 :(得分:0)
我已经看到了一个简单问题的太多复杂答案,我也有同样的问题,这就是为什么我来到这里但我没有得到任何合理的答案。我想通了,只要突出显示列,右键单击它----格式化单元格-----将出现一个对话框,进入类别---数字,然后添加任意数量的小数位