#include #include #include #include #include #include namespace karma = boost::spirit::karma; // define a new real number formatting policy template struct scientific_policy : karma::real_policies { // we want the numbers always to be in scientific format static int floatfield(Num n) { return std::ios_base::scientific; } }; int main( ) { // define a new generator type based on the new policy typedef karma::real_generator > science_type; science_type const scientific = science_type(); std::string output; typedef std::back_insert_iterator output_iterator; output_iterator sink( output ); // should output: 1.0e-01, but will output: 10.0e-02 karma::generate(sink, scientific, 0.1); std::cout << output << std::endl; };