2014-05-21 73 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)搜索并替换点。另一种可能的方式是选择所有单元格,然后右键单击它们,选择“格式化单元格”选项并选择正确的单元格格式(如果程序仍按照日期处理您的值,即使您做了我所拥有的功能上面写的)。