如何将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
。我该怎么办?
答案 0 :(得分:0)
在不使用其他库的情况下将其保持纯C ++:不读取字符串,读取浮点数:
float value;
char delim;
if( !( is >> value >> delim ) && ( delim == ',' || delim == '\n' ) )
// format error