Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/127.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何应对NaN';在C+中读取csv文件时+; 我在CSV文件中读取时间序列数据到C++程序中。然而,我的数据包含 一些南的。例如: 1-Jul-2010, 1.0 2-Jul-2010, 2.0 3-Jul-2010, NaN 4-Jul-2010, 3.0_C++_File Io_Csv_Nan - Fatal编程技术网

如何应对NaN';在C+中读取csv文件时+; 我在CSV文件中读取时间序列数据到C++程序中。然而,我的数据包含 一些南的。例如: 1-Jul-2010, 1.0 2-Jul-2010, 2.0 3-Jul-2010, NaN 4-Jul-2010, 3.0

如何应对NaN';在C+中读取csv文件时+; 我在CSV文件中读取时间序列数据到C++程序中。然而,我的数据包含 一些南的。例如: 1-Jul-2010, 1.0 2-Jul-2010, 2.0 3-Jul-2010, NaN 4-Jul-2010, 3.0,c++,file-io,csv,nan,C++,File Io,Csv,Nan,为了解决这个问题,我在Matlab中编写了一个简短的脚本,用0.0- 然后我在没有NaN的情况下读取新文件。有没有一个简单的方法或避免 这是预处理吗 谢谢 是否希望结果为浮点(或双精度)NaN-然后使用stdlib strtod()函数 if (isnan(val)) { val = 0.0; } 如果您想以自己的方式处理它(将其设置为0等),那么首先将每一行读入一个字符串,使用strcmp()检查NaN,然后根据您发现的内容解析字符串-如果NaN只能出现在一列中,则更容易。正如Dav

为了解决这个问题,我在Matlab中编写了一个简短的脚本,用0.0- 然后我在没有NaN的情况下读取新文件。有没有一个简单的方法或避免 这是预处理吗


谢谢

是否希望结果为浮点(或双精度)NaN-然后使用stdlib strtod()函数

if (isnan(val))
{
    val = 0.0;
}

如果您想以自己的方式处理它(将其设置为0等),那么首先将每一行读入一个字符串,使用strcmp()检查NaN,然后根据您发现的内容解析字符串-如果NaN只能出现在一列中,则更容易。

正如David已经提到的,您根本不必预处理该文件。strtof()和strtod()都能够将NaN字符串转换为NaN浮点/双精度值

如果要将数据集中的值替换为0.0,可以使用isnan()函数

if (isnan(val))
{
    val = 0.0;
}

创建文件时是否将NAN转换为
0.0
?e、 例如,
printf(“%f”),isnan(val)?0.0:val?您可以使用strof()和strod()解析NaN---字符串“NaN”(忽略大小写)处理正确。NaN与0.0不同!理想情况下,我希望结果是双NaN。现在我来看看strtod()函数。在我的机器(VC++)上,函数调用:strtod(“NaN”,NULL)返回0.0(我认为这意味着无法执行有效转换),而不是双NaN。我使用的正确吗?您使用的正确,IBM编译器返回NaN。我刚刚尝试使用MS VC++编译器,它确实返回了0.0。因此,您可能应该使用stricmp()来测试自己。NaN的定义在std::numeric_limits::quiet_NaN()中;谢谢我现在使用strcmp()测试“NaN”字符串,如果是,则调用std::numeric\u limits::quiet\u NaN()。但是有没有一个类似于strtod的函数可以在微软的VC++中正常工作呢?我不这么认为。到目前为止,我所看到的每个实现都使用了某种解决方法。只是说,这也适用于二进制文件中的数据:)干杯!