private string FormatExponential (int precision, NumberFormatInfo nfi, int expDigits)
{
int decDigits = _decPointPos;
int digits = _digitsLen;
int exponent = decDigits - 1;
decDigits = _decPointPos = 1;
ResetCharBuf (precision + 8);
if (!_positive)
Append (nfi.NegativeSign);
AppendOneDigit (digits - 1);
if (precision > 0) {
Append (nfi.NumberDecimalSeparator);
AppendDigits (digits - precision - 1, digits - _decPointPos);
}
AppendExponent (nfi, exponent, expDigits);
return new string (_cbuf, 0, _ind);
}