以下のサンプルのように、固定幅の指数表記でデータを出力する必要があります。それを達成する方法はありますか?
データ:
- [+0.000000e+00, +0.100000e+00, +2.400000e+00, +3.600000e+00, +4.800000e+00]
- [+1.200000e+00, +1.300000e+00, +2.400000 e+00, +4.800000e+00, +6.000000e+00]
-SW
以下のサンプルのように、固定幅の指数表記でデータを出力する必要があります。それを達成する方法はありますか?
データ:
- [+0.000000e+00, +0.100000e+00, +2.400000e+00, +3.600000e+00, +4.800000e+00]
- [+1.200000e+00, +1.300000e+00, +2.400000 e+00, +4.800000e+00, +6.000000e+00]
-SW
データのラッパー クラスを作成します。
struct Fixed {
Fixed(double v = 0): value(v) {}
double value;
std::string ToString() const {
/* write something that outputs this in the format you want */
}
};
およびオーバーロードoperator <<
:
YAML::Emitter& operator << (YAML::Emitter& out, const Fixed& f) {
out << f.ToString();
return out;
}
その後、期待どおりに動作します。
std::vector<Fixed> data = /* ... */;
YAML::Emitter out;
out << data; // etc