将数据从CSV字符串转换为浮点型

时间:2018-07-27 08:53:32

标签: c++

如何将CSV文件(Excel工作表)中的字符串转换为浮点值?假设我的CSV工作表包含:

0.9, 0.8, 0.7, 0.6, 0.5, 0.4, 0.3, 0.2, 0.1

到目前为止,我的代码是:

#include <iostream>
#include <fstream>
#include <sstream>
#include <string>

using namespace std;

int main()
{
    ifstream myfile("data1.csv");
    string line;
    getline(myfile,line,',');
    cout << line;
}

我能够以字符串形式获取line,特别是键入Ss,但是我需要将line转换为float。我该怎么办?

1 个答案:

答案 0 :(得分:0)

在不使用其他库的情况下将其保持纯C ++:不读取字符串,读取浮点数:

float value;
char delim;
if( !( is >> value >> delim ) && ( delim == ',' || delim == '\n' ) )
    // format error