void ValueTraits<const double>::normalNumber( double t ) { char *s = doNegative( t ); s = doubleToString( t, s ); s = copyString( s, "." ); for ( unsigned i = 0; i < DIGITS_ON_RIGHT; ++ i ) s = numberToString( (unsigned)(t *= BASE) % BASE, s ); }
void ValueTraits<const double>::hugeNumber(double t) { char *s = doNegative(t); s = doubleToString(t, s, 0, 1); s = copyString(s, "."); s = doubleToString(t, s, 1, DIGITS_ON_RIGHT); s = copyString(s, "E"); s = numberToString(requiredDigitsOnLeft(t) - 1, s); }