2014-05-21 112 views
0

我在Excel中格式有點問題 我試圖將一些浮動值寫入.csv文件並使用Microsoft Excel查看它。例如,我在第一行寫入了6.21和12.42。然後,excel將Jun 21和Dec 46排除在外。或者124.199中的124199。將浮點值寫入.csv文件

[...] 
    fstream f; 
    f.open("test.csv", ios::out); 
    for(i=0; i<world1->GetTime(); i++) 
    f << Values[i][0] << ';' << Values[i][1] << endl; 
    f.close(); 
    return 0; 

} 
+0

原始文本說什麼? – ElGavilan

+0

'6.21'我懷疑Excel希望'6,21'將它識別爲浮點值。 float和double值如何呈現取決於您的實際['locale'](http://en.cppreference.com/w/cpp/locale/locale)設置。 –

+0

6.21; 12.42; 12.4199 – user3662357

回答

1

它沒有任何與你的代碼 - 這是Excel的設置,您應該按順序進行修改以正確顯示的結果(OK,你可以修改你的代碼,但它是非常簡單做它通過Excel)。

嘗試在Excel中顯示.csv文件時最常見的錯誤來源之一是Excel在某些語言中使用逗號作爲小數點分隔符,而C++使用點。根據您的Excel版本,您可以更改您的默認小數點分隔符: https://www.google.com/#q=excel+dot+as+decimal+separator。另外,您也可以選擇所有單元格並用逗號(ctrl + H)搜索並替換點。另一種可能的方式是選擇所有單元格,然後右鍵單擊它們,選擇「格式化單元格」選項並選擇正確的單元格格式(如果程序仍按照日期處理您的值,即使您做了我所擁有的功能上面寫的)。