2014-02-06 35 views
0

我試圖打印出double以表示excel。在我的GUI中,打印出的數字正確。將小數點後的零打印到excel中

但是,當我將數字寫入Excel文件時,數字在小數點後出現零。例如,在我的GUI中,編號1.10正確打印出來,但在excel中打印出1.1

double foo = 1.10; 
writeline(foo.ToString("F2")); 

我試過String.Format("{0:0.00}", foo.ToString("F2"));沒有解決這個問題。我很確定問題是當數字進入excel時,excel會在小數點後截斷所有的零。有沒有辦法發送excel消息打印出小數點後的兩個地方?

我正在致力於某人elses打開和關閉excel文件的代碼。他們使用File.CreateStreamWriter創建和打開Excel文件

+3

你如何「發送到excel」? – Tarec

回答

2
String.Format("{0:0.00}", foo.ToString("F2")); 

將無法​​正常工作,因爲你想格式化的東西,這是轉換成字符串了。 使用直接變量 - 你富應返回一個數值,然後你可以使用它像這樣(舉例):

String.Format("{0:0.00}", foo.GetDouble("F2")); 

換句話說:

String.Format("{0:0.00}", "1.10"); //wrong 
String.Format("{0:0.00}", 1.10d);  //correct 
+0

它仍然打印出1.1而不是1.10在excel中 – Aaron

+0

它不是一個與c#相關的問題。將excel文件中的列過濾爲四捨五入的零。您正在發送正確的值,但是您沒有設置正確的列屬性。 – Tarec

+0

我想,有沒有辦法將信息發送到excel打印出.00? – Aaron

0

我已經對於一個簡單的問題看到了太多複雜的答案,我也遇到了同樣的問題,這就是爲什麼我來到這裏但我沒有得到任何合理的答案。我想通了,只需突出顯示該列,右鍵單擊它 - 格式化單元格-----會出現一個對話框,在類別---數字下,然後添加任意數量的小數位。