assert (s.find("%") == 0);
SCITBX_ASSERT(s.find("%") == 0);
ScientificFormatter::ScientificFormatter(std::string s): pad(' ') {    //parse the format %12.5E becomes TOKEN digits TOKEN decimal LETTER    //could re-implement this with the boost tokenizer    assert (s.find("%") == 0);    int dot = s.find("."); std::string(s,dot)/* essentially an assertion */;    int letter = s.find("E"); std::string(s,letter);    digits   = std::atoi(std::string(s,1,dot-1).c_str());    frac = std::atoi(std::string(s,dot+1,letter-dot).c_str());    assert (frac+7 <= digits); //otherwise format too small to hold the frac    sprintf (iformat, "%c%d.%dE\0",'%',frac+8,frac);    sprintf (oformat, "%s\0",s.c_str());    //Now determine if we use standard or MSVC printf format    boost::shared_array<char> t(new char[frac+9]); //ie., "-d.dddddE+00\0"    sprintf (t.get(),iformat,-1.0);    if (t[frac+5]=='0') {stdprintf=false;} else {stdprintf=true;}  }