0

我试图在 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;
                    } 
                }
            }
        }
    }

有没有人有一些解释或想法来解决这个问题?

4

1 回答 1

0

RFC-4180 表示 CSV 实现可能在对小数分隔符的解释上有所不同(除其他外)。尝试将语言环境添加到 .分类为小数分隔符的流上。

std::ofstream summary(options[SUMMARY].arg);
summary.imbue(std::locale(summary.getloc(), new std::numpunct<char>));
于 2013-07-03T21:37:16.887 回答