dans mes valeurs de fichier csv point décimal est une virgule. Je peux donc ouvrir le fichier csv dans Excel et Excel ne formatera pas mes valeurs à ce jour.Comment convertir une chaîne avec virgule pour flotter dans QT?
Lorsque j'ouvre le fichier dans mon propre logiciel et que je convertis String en float, les valeurs ne peuvent pas être lues: bool ok renvoie false.
QTextStream stream(&file);
QLocale locale = QLocale();
qDebug() << locale.decimalPoint(); //returns ","
stream.setLocale(locale);
QString LineFromFile = stream.readLine();
QStringList DataFromRow = LineFromFile.split(";");
QList<float> values;
for (int i = 0; i < ValuesCnt; ++i){
values.append(DataFromRow.at(i).toFloat());
qDebug() << DataFromRow.at(i) << values.at(i); //returns e.g.: "700,1" 0
}
Assurez-vous que 'DataFromRow.at (i)' contient pas d'espaces ou d'autres séparateurs. Vous pouvez essayer ensuite: 'DataFromRow.at (i) .trimmed(). ToFloat()'. –