1

以下のサンプルのように、固定幅の指数表記でデータを出力する必要があります。それを達成する方法はありますか?

データ:
- [+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

4

1 に答える 1

3

データのラッパー クラスを作成します。

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
于 2011-06-25T00:17:39.983 に答える