hello, I've found such code: operator double() { double x = static_cast<double>(mantissa()); // return x * std::pow(10, exponent()); boost::spirit::x3::extension::scale(exponent(),x); } using boost::spirit::x3::extension::scale() might have core dump