我试图在CSV文件中总结我的算法的结果。但是有些价值观会丢失。例如,0.375保存为375,而0,125保存为125。
if (options[SUMMARY]) {
std::ofstream summary(options[SUMMARY].arg);
summary << "Runtime" << ";" << runtime << std::endl;
for (auto u : results) {
for (auto v : u.second) {
if (measures.size() == 0) {
summary << v.first << ";" << v.second.second << std::endl;
} else if (measures.size() == 1) {
summary << v.first << ";"
<< (measures[0])->getQuality(v.second.first)
<< std::endl;
}
}
}
}
}
有没有人有一些解释或想法来超越这个问题?
答案 0 :(得分:0)
RFC-4180表示CSV实现可能在对小数点分隔符(以及其他内容)的解释上有所不同。尝试将语言环境填充到将.
归类为小数分隔符的流中。
std::ofstream summary(options[SUMMARY].arg);
summary.imbue(std::locale(summary.getloc(), new std::numpunct<char>));